Skip to content

Commit 4cd97e7

Browse files
authored
Merge pull request #179028 from MicrosoftDocs/master
11/08 AM Publish
2 parents a0a0e90 + 5ec1ae0 commit 4cd97e7

File tree

41 files changed

+551
-233
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+551
-233
lines changed

articles/active-directory/managed-identities-azure-resources/services-support-managed-identities.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ Refer to the following list to configure managed identity for Azure Service Fabr
320320
| User assigned | Not Available | Not Available | Not Available | Not Available |
321321

322322

323-
For more information, see [How to enable system-assigned managed identity for Azure Spring Cloud application](../../spring-cloud/how-to-enable-system-assigned-managed-identity.md).
323+
For more information, see [How to enable system-assigned managed identity for applications in Azure Spring Cloud](../../spring-cloud/how-to-enable-system-assigned-managed-identity.md).
324324

325325
### Azure Stack Edge
326326

articles/aks/load-balancer-standard.md

Lines changed: 26 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -191,36 +191,48 @@ az aks create \
191191
### Configure the allocated outbound ports
192192

193193
> [!IMPORTANT]
194-
> If you have applications on your cluster which are expected to establish a large number of connection to small set of destinations, e.g. many frontend instances connecting to an SQL DB, you have a scenario very susceptible to encounter SNAT Port exhaustion (running out of ports to connect from). For these scenarios it is highly recommended to increase the allocated outbound ports and outbound frontend IPs on the load balancer. See below for information on how to properly calculate these values.
194+
> If you have applications on your cluster which can establish a large number of connections to small set of destinations, for example many instances of a frontend application connecting to a database, you may have a scenario very susceptible to encounter SNAT port exhaustion. SNAT port exhaustion happens when an application runs out of outbound ports to use to establish a connection to another application or host. If you have a scenario where you may encounter SNAT port exhaustion, it is highly recommended that you increase the allocated outbound ports and outbound frontend IPs on the load balancer to prevent SNAT port exhaustion. See below for information on how to properly calculate outbound ports and outbound frontend IP values.
195195
196-
Unless otherwise specified, AKS will use the default value of Allocated Outbound Ports that Standard Load Balancer defines when configuring it. This value is **null** on the AKS API or **0** on the SLB API as shown by the below command:
196+
By default, AKS sets *AllocatedOutboundPorts* on its load balancer to `0`, which enables [automatic outbound port assignment based on backend pool size][azure-lb-outbound-preallocatedports] when creating a cluster. For example, if a cluster has 50 or fewer nodes, 1024 ports are allocated to each node. As the number of nodes in the cluster is increased, fewer ports will be available per node. To show the *AllocatedOutboundPorts* value for the AKS cluster load balancer, use `az network lb outbound-rule list`. For example:
197197

198198
```azurecli-interactive
199199
NODE_RG=$(az aks show --resource-group myResourceGroup --name myAKSCluster --query nodeResourceGroup -o tsv)
200200
az network lb outbound-rule list --resource-group $NODE_RG --lb-name kubernetes -o table
201201
```
202202

203-
The previous commands will list the outbound rule for your load balancer, for example:
203+
The following example output shows that automatic outbound port assignment based on backend pool size is enabled for the cluster:
204204

205205
```console
206206
AllocatedOutboundPorts EnableTcpReset IdleTimeoutInMinutes Name Protocol ProvisioningState ResourceGroup
207207
------------------------ ---------------- ---------------------- --------------- ---------- ------------------- -------------
208208
0 True 30 aksOutboundRule All Succeeded MC_myResourceGroup_myAKSCluster_eastus
209209
```
210210

211-
This output does not mean that the cluster has 0 ports but instead that it is using [automatic outbound port assignment based on backend pool size][azure-lb-outbound-preallocatedports]. For example, if a cluster has 50 or fewer nodes, 1024 ports are allocated to each node. As the number of nodes in the cluster is increased, fewer ports will be available per node.
211+
To configure a specific value for *AllocatedOutboundPorts* and outbound IP address when creating or updating a cluster, use `load-balancer-outbound-ports` and either `load-balancer-managed-outbound-ip-count`, `load-balancer-outbound-ips`, or `load-balancer-outbound-ip-prefixes`. Before setting a specific value or increasing an existing value for either for outbound ports and outbound IP address, you must calculate the appropriate number of outbound ports and IP address. Use the following equation for this calculation rounded to the nearest integer: `64,000 ports per IP / <outbound ports per node> * <number of outbound IPs> = <maximum number of nodes in the cluster>`.
212212

213-
To define or increase the number of Allocated Outbound ports, the appropriate values for number of outbound ports and number of IPs must be calculated. The number of outbound ports is fixed per instance to the value specified here. The value for outbound ports must be a multiple of 8.
213+
When calculating the number of outbound ports and IPs and setting the values, remember:
214+
* The number of outbound ports is fixed per node based on the value you set.
215+
* The value for outbound ports must be a multiple of 8.
216+
* Adding more IPs does not add more ports to any node. It provides capacity for more nodes in the cluster.
217+
* You must account for nodes that may be added as part of upgrades, including the count of nodes specified via [maxSurge values][maxsurge].
214218

215-
Adding more IPs does not add more ports to any node - instead, it provides capacity for more nodes in the cluster. When performing this calculation, make sure to account for nodes that may be added as part of upgrades, including the count of nodes specified via [maxSurge values](upgrade-cluster.md#customize-node-surge-upgrade). The calculation for the number of IPs required is `(<maximum number of nodes in the cluster> * <outbound ports per node>) / 64000`, rounded up to the nearest integer.
219+
The following examples show how the number of outbound ports and IP addresses are affected by the values you set:
220+
- If the default values are used and the cluster has 48 nodes, each node will have 1024 ports available.
221+
- If the default values are used and the cluster scales from 48 to 52 nodes, each node will be updated from 1024 ports available to 512 ports available.
222+
- If outbound ports is set to 1,000 and outbound IP count is set to 2, then the cluster can support a maximum of 128 nodes: `64,000 ports per IP / 1,000 ports per node * 2 IPs = 128 nodes`.
223+
- If outbound ports is set to 1,000 and outbound IP count is set to 7, then the cluster can support a maximum of 448 nodes: `64,000 ports per IP / 1,000 ports per node * 7 IPs = 448 nodes`.
224+
- If outbound ports is set to 4,000 and outbound IP count is set to 2, then the cluster can support a maximum of 32 nodes: `64,000 ports per IP / 4,000 ports per node * 2 IPs = 32 nodes`.
225+
- If outbound ports is set to 4,000 and outbound IP count is set to 7, then the cluster can support a maximum of 112 nodes: `64,000 ports per IP / 4,000 ports per node * 7 IPs = 112 nodes`.
216226

217-
Examples:
218-
- If no values are supplied and the cluster has 48 nodes, each node will have 1024 ports available.
219-
- If no values are supplied and the cluster grows to 52 nodes, each node will now have 512 ports available.
220-
- If outbound ports is set to 1,000 and outbound IP count is set to 2, then the cluster can support a maximum of 128 nodes (64,000 ports per IP / 1,000 ports per node * 2 IPs = 128 nodes).
221-
- If outbound ports is set to 4,000 and outbound IP count is set to 7, then the cluster can support a maximum of 112 nodes (64,000 ports per IP / 4,000 ports per node * 7 IPs = 112 nodes).
227+
> [!IMPORTANT]
228+
> After calculating the number outbound ports and IPs, verify you have additional outbound port capacity to handle node surge during upgrades. It is critical to allocate sufficient excess ports for additional nodes needed for upgrade and other operations. AKS defaults to one buffer node for upgrade operations. If using [maxSurge values][maxsurge], multiply the outbound ports per node by your maxSurge value to determine the number of ports required. For example if you calculated you needed 4000 ports per node with 7 IP address on a cluster with a maximum of 100 nodes and a max surge of 2:
229+
> * 2 surge nodes * 4000 ports per node = 8000 ports needed for node surge during upgrades.
230+
> * 100 nodes * 4000 ports per node = 400,000 ports required for your cluster.
231+
> * 7 IPs * 64000 ports per IP = 448,000 ports available for your cluster.
232+
>
233+
> The above example shows the cluster has an excess capacity of 48,000 ports, which is sufficient to handle the 8000 ports needed for node surge during upgrades.
222234
223-
Once the values have been calculated, the following command can be used to apply them to the cluster:
235+
Once the values have been calculated and verified, you can apply those values using `load-balancer-outbound-ports` and either `load-balancer-managed-outbound-ip-count`, `load-balancer-outbound-ips`, or `load-balancer-outbound-ip-prefixes` when creating or updating a cluster. For example:
224236

225237
```azurecli-interactive
226238
az aks update \
@@ -230,25 +242,6 @@ az aks update \
230242
--load-balancer-outbound-ports 4000
231243
```
232244

233-
To check these values, assume our cluster has a maximum size of 100 nodes and calculate the number of ports required (400,000) vs. the number of ports available (448,000). This configuration would provide sufficient ports for a 100 node cluster with space for node surge during upgrades.
234-
235-
- 100 nodes * 4000 ports per node = 400,000 ports required
236-
- 7 IPs * 64000 ports per IP = 448,000 ports available.
237-
238-
> [!IMPORTANT]
239-
> You must [calculate your required quota and check the requirements][requirements] before customizing *allocatedOutboundPorts* to avoid connectivity or scaling issues. It is critical to allocate sufficient ports for additional nodes needed for upgrade and other operations. AKS defaults to one buffer node for upgrade. If using [maxSurge values](upgrade-cluster.md#customize-node-surge-upgrade), multiply the outbound ports per node by your maxSurge value to determine the number of ports required.
240-
241-
You can also use the **`load-balancer-outbound-ports`** parameters when creating a cluster, but you must also specify either **`load-balancer-managed-outbound-ip-count`**, **`load-balancer-outbound-ips`**, or **`load-balancer-outbound-ip-prefixes`** as well. For example:
242-
243-
```azurecli-interactive
244-
az aks create \
245-
--resource-group myResourceGroup \
246-
--name myAKSCluster \
247-
--load-balancer-sku standard \
248-
--load-balancer-managed-outbound-ip-count 2 \
249-
--load-balancer-outbound-ports 1024
250-
```
251-
252245
### Configure the load balancer idle timeout
253246

254247
When SNAT port resources are exhausted, outbound flows fail until existing flows release SNAT ports. Load Balancer reclaims SNAT ports when the flow closes and the AKS-configured load balancer uses a 30-minute idle timeout for reclaiming SNAT ports from idle flows.
@@ -424,4 +417,5 @@ Learn more about using Internal Load Balancer for Inbound traffic at the [AKS In
424417
[az-extension-update]: /cli/azure/extension#az_extension_update
425418
[use-multiple-node-pools]: use-multiple-node-pools.md
426419
[troubleshoot-snat]: #troubleshooting-snat
427-
[service-tags]: ../virtual-network/network-security-groups-overview.md#service-tags
420+
[service-tags]: ../virtual-network/network-security-groups-overview.md#service-tags
421+
[maxsurge]: upgrade-cluster.md#customize-node-surge-upgrade

articles/aks/open-service-mesh-deploy-addon-az-cli.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,39 @@ To disable the OSM add-on, run the following command:
177177
```azurecli-interactive
178178
az aks disable-addons -n <AKS-cluster-name> -g <AKS-resource-group-name> -a open-service-mesh
179179
```
180+
After the OSM add-on is disabled, the following resources remain on the cluster:
181+
1. OSM meshconfig custom resource
182+
2. OSM control plane secrets
183+
3. OSM mutating webhook configuration
184+
4. OSM validating webhook configuration
185+
5. OSM CRDs
186+
187+
> [!IMPORTANT]
188+
> You must remove these additional resources after you disable the OSM add-on. Leaving these resources on your cluster may cause issues if you enable the OSM add-on again in the future.
189+
190+
To remove these remaining resources:
191+
192+
1. Delete the meshconfig config resource
193+
```azurecli-interactive
194+
kubectl delete --ignore-not-found meshconfig -n kube-system osm-mesh-config
195+
```
196+
197+
2. Delete the OSM control plane secrets
198+
```azurecli-interactive
199+
kubectl delete --ignore-not-found secret -n kube-system osm-ca-bundle mutating-webhook-cert-secret validating-webhook-cert-secret crd-converter-cert-secret
200+
```
201+
202+
3. Delete the OSM mutating webhook configuration
203+
```azurecli-interactive
204+
kubectl delete mutatingwebhookconfiguration -l app.kubernetes.io/name=openservicemesh.io,app.kubernetes.io/instance=osm,app=osm-injector --ignore-not-found
205+
```
206+
207+
4. Delete the OSM validating webhook configuration
208+
```azurecli-interactive
209+
kubectl delete validatingwebhookconfiguration -l app.kubernetes.io/name=openservicemesh.io,app.kubernetes.io/instance=osm,app=osm-controller --ignore-not-found
210+
```
211+
212+
5. Delete the OSM CRDs: For guidance on OSM's CRDs and how to delete them, refer to [this documentation](https://release-v0-11.docs.openservicemesh.io/docs/getting_started/uninstall/#removal-of-osm-cluster-wide-resources).
180213

181214
<!-- Links -->
182215
<!-- Internal -->

articles/azure-functions/create-first-function-vs-code-powershell.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ After you've verified that the function runs correctly on your local computer, i
6666

6767
[!INCLUDE [functions-sign-in-vs-code](../../includes/functions-sign-in-vs-code.md)]
6868

69-
[!INCLUDE [functions-publish-project-vscode](../../includes/functions-publish-project-vscode.md)]
69+
[!INCLUDE [functions-publish-project-vscode](../../includes/functions-publish-powershell-project-vscode.md)]
7070

7171
[!INCLUDE [functions-vs-code-run-remote](../../includes/functions-vs-code-run-remote.md)]
7272

0 commit comments

Comments
 (0)