You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following example output shows the three nodes distributed across the specified region and availability zones, such as *eastus2-1* for the first availability zone and *eastus2-2* for the second availability zone:
102
102
103
-
```console
103
+
```output
104
104
Name: aks-nodepool1-28993262-vmss000000
105
105
topology.kubernetes.io/zone=eastus2-1
106
106
Name: aks-nodepool1-28993262-vmss000001
@@ -113,13 +113,13 @@ As you add more nodes to an agent pool, the Azure platform automatically distrib
113
113
114
114
With Kubernetes versions 1.17.0 and later, AKS uses the newer label `topology.kubernetes.io/zone` and the deprecated `failure-domain.beta.kubernetes.io/zone`. You can get the same result from running the `kubelet describe nodes` command in the previous step, by running the following script:
115
115
116
-
```console
116
+
```bash
117
117
kubectl get nodes -o custom-columns=NAME:'{.metadata.name}',REGION:'{.metadata.labels.topology\.kubernetes\.io/region}',ZONE:'{metadata.labels.topology\.kubernetes\.io/zone}'
118
118
```
119
119
120
120
The following example resembles the output with more verbose details:
121
121
122
-
```console
122
+
```output
123
123
NAME REGION ZONE
124
124
aks-nodepool1-34917322-vmss000000 eastus eastus-1
125
125
aks-nodepool1-34917322-vmss000001 eastus eastus-2
@@ -139,7 +139,7 @@ az aks scale \
139
139
140
140
When the scale operation completes after a few minutes, run the command `kubectl describe nodes | grep -e "Name:" -e "topology.kubernetes.io/zone"` in a Bash shell. The following output resembles the results:
By viewing nodes where your pods are running, you see pods are running on the nodes corresponding to three different availability zones. For example, with the command `kubectl describe pod | grep -e "^Name:" -e "^Node:"` in a Bash shell, you see the following example output:
Copy file name to clipboardExpand all lines: articles/aks/upgrade-windows-2019-2022.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,7 +58,7 @@ Once you update the nodeSelector on the YAML file, you should also update the co
58
58
59
59
If you have an application deployed already, follow the recommended steps to deploy a new node pool with Windows Server 2022 nodes. Once deployed, your environment will show Windows Server 2019 and 2022 nodes, with the workloads running on the 2019 nodes:
60
60
61
-
```console
61
+
```bash
62
62
kubectl get nodes -o wide
63
63
```
64
64
This command shows all nodes on your AKS cluster with extra details on the output:
With the Windows Server 2022 node pool deployed and the YAML file configured, you can now deploy the new version of the YAML:
78
78
79
-
```console
79
+
```bash
80
80
kubectl apply -f <filename>
81
81
```
82
82
@@ -88,7 +88,7 @@ service/sample unchanged
88
88
```
89
89
At this point, AKS starts the process of terminating the existing pods and deploying new pods to the Windows Server 2022 nodes. You can check the status of your deployment by running:
90
90
91
-
```console
91
+
```bash
92
92
kubectl get pods -o wide
93
93
```
94
94
This command returns the status of the pods on the default namespace. You might need to change the command above to list the pods on specific namespaces.
If you're using Group Managed Service Accounts (gMSA), update the Managed Identity configuration for the new node pool. gMSA uses a secret (user account and password) so the node on which the Windows pod is running can authenticate the container against Active Directory. To access that secret on Azure Key Vault, the node uses a Managed Identity that allows the node to access the resource. Since Managed Identities are configured per node pool, and the pod now resides on a new node pool, you need to update that configuration. Check out [Enable Group Managed Service Accounts (GMSA) for your Windows Server nodes on your Azure Kubernetes Service (AKS) cluster](./use-group-managed-service-accounts.md) for more information.
106
106
107
-
The same principle applies to Managed Identities used for any other pod/node pool when accessing other Azure resources. Any access provided via Managed Identity needs to be updated to reflect the new node pool. To view update and sign-in activities, see [How to view Managed Identity activity](../active-directory/managed-identities-azure-resources/how-to-view-managed-identity-activity.md).
107
+
The same principle applies to Managed Identities used for any other pod/node pool when accessing other Azure resources. Any access provided via Managed Identity needs to be updated to reflect the new node pool. To view update and sign-in activities, see [How to view Managed Identity activity](../active-directory/managed-identities-azure-resources/how-to-view-managed-identity-activity.md).
Copy file name to clipboardExpand all lines: articles/aks/use-multiple-node-pools.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -130,7 +130,7 @@ The ARM64 processor provides low power compute for your Kubernetes workloads. To
130
130
131
131
Use `az aks nodepool add` command to add an ARM64 node pool.
132
132
133
-
```azurecli
133
+
```azurecli-interactive
134
134
az aks nodepool add \
135
135
--resource-group myResourceGroup \
136
136
--cluster-name myAKSCluster \
@@ -145,7 +145,7 @@ Mariner is an open-source Linux distribution available as an AKS container host.
145
145
146
146
You can add a Mariner node pool into your existing cluster using the `az aks nodepool add` command and specifying `--os-sku mariner`.
147
147
148
-
```azurecli
148
+
```azurecli-interactive
149
149
az aks nodepool add \
150
150
--resource-group myResourceGroup \
151
151
--cluster-name myAKSCluster \
@@ -166,7 +166,7 @@ Use the following instructions to migrate your Ubuntu nodes to Mariner nodes.
166
166
3.[Drain the existing Ubuntu nodes][drain-nodes].
167
167
4. Remove the existing Ubuntu nodes using the `az aks delete` command.
168
168
169
-
```azurecli
169
+
```azurecli-interactive
170
170
az aks nodepool delete \
171
171
--resource-group myResourceGroup \
172
172
--cluster-name myAKSCluster \
@@ -317,7 +317,7 @@ az aks nodepool scale \
317
317
318
318
List the status of your node pools again using the [`az aks node pool list`][az-aks-nodepool-list] command. The following example shows that *mynodepool* is in the *Scaling* state with a new count of *5* nodes:
319
319
320
-
```azurecli
320
+
```azurecli-interactive
321
321
az aks nodepool list -g myResourceGroup --cluster-name myAKSCluster
322
322
```
323
323
@@ -369,7 +369,7 @@ az aks nodepool delete -g myResourceGroup --cluster-name myAKSCluster --name myn
369
369
370
370
The following example output from the [`az aks node pool list`][az-aks-nodepool-list] command shows that *mynodepool* is in the *Deleting* state:
371
371
372
-
```azurecli
372
+
```azurecli-interactive
373
373
az aks nodepool list -g myResourceGroup --cluster-name myAKSCluster
374
374
```
375
375
@@ -416,13 +416,13 @@ For more information on the capacity reservation groups, please refer to [Capaci
416
416
417
417
To install the aks-preview extension, run the following command:
418
418
419
-
```azurecli
419
+
```azurecli-interactive
420
420
az extension add --name aks-preview
421
421
```
422
422
423
423
Run the following command to update to the latest version of the extension released:
424
424
425
-
```azurecli
425
+
```azurecli-interactive
426
426
az extension update --name aks-preview
427
427
```
428
428
@@ -490,7 +490,7 @@ az aks nodepool add \
490
490
491
491
The following example output from the [`az aks node pool list`][az-aks-nodepool-list] command shows that *gpunodepool* is *Creating* nodes with the specified *VmSize*:
492
492
493
-
```azurecli
493
+
```azurecli-interactive
494
494
az aks nodepool list -g myResourceGroup --cluster-name myAKSCluster
495
495
```
496
496
@@ -548,7 +548,7 @@ az aks nodepool add \
548
548
549
549
The following example output from the [`az aks nodepool list`][az-aks-nodepool-list] command shows that *taintnp* is *Creating* nodes with the specified *nodeTaints*:
550
550
551
-
```azurecli
551
+
```azurecli-interactive
552
552
az aks nodepool list -g myResourceGroup --cluster-name myAKSCluster
553
553
```
554
554
@@ -608,13 +608,13 @@ spec:
608
608
609
609
Schedule the pod using the `kubectl apply -f nginx-toleration.yaml` command:
610
610
611
-
```console
611
+
```bash
612
612
kubectl apply -f nginx-toleration.yaml
613
613
```
614
614
615
615
It takes a few seconds to schedule the pod and pull the NGINX image. Use the [kubectl describe pod][kubectl-describe] command to view the pod status. The following condensed example output shows the *sku=gpu:NoSchedule* toleration is applied. In the events section, the scheduler has assigned the pod to the *aks-taintnp-28993262-vmss000000* node:
Use `kubectl describe node` to show the labels on a node in the WASI node pool. The following example shows the details of *aks-mywasipool-12456878-vmss000000*.
Copy file name to clipboardExpand all lines: articles/azure-app-configuration/use-feature-flags-dotnet-core.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@ The Feature Management libraries also manage feature flag lifecycles behind the
26
26
27
27
The [Add feature flags to an ASP.NET Core app Quickstart](./quickstart-feature-flag-aspnet-core.md) shows a simple example of how to use feature flags in an ASP.NET Core application. This tutorial shows additional setup options and capabilities of the Feature Management libraries. You can use the sample app created in the quickstart to try out the sample code shown in this tutorial.
28
28
29
-
For the ASP.NET Core feature management API reference documentation, see [Microsoft.FeatureManagement Namespace](https://www.nuget.org/packages/Microsoft.FeatureManagement/).
29
+
For the ASP.NET Core feature management API reference documentation, see [Microsoft.FeatureManagement Namespace](/dotnet/api/microsoft.featuremanagement).
30
30
31
31
In this tutorial, you will learn how to:
32
32
@@ -40,7 +40,7 @@ To access the .NET Core feature manager, your app must have references to the `M
40
40
41
41
The .NET Core feature manager is configured from the framework's native configuration system. As a result, you can define your application's feature flag settings by using any configuration source that .NET Core supports, including the local *appsettings.json* file or environment variables.
42
42
43
-
By default, the feature manager retrieves feature flag configuration from the `"FeatureManagement"` section of the .NET Core configuration data. To use the default configuration location, call the AddFeatureManagement method of the **IServiceCollection** passed into the **ConfigureServices** method of the **Startup** class.
43
+
By default, the feature manager retrieves feature flag configuration from the `"FeatureManagement"` section of the .NET Core configuration data. To use the default configuration location, call the [AddFeatureManagement](/dotnet/api/microsoft.featuremanagement.servicecollectionextensions.addfeaturemanagement) method of the **IServiceCollection** passed into the **ConfigureServices** method of the **Startup** class.
44
44
45
45
46
46
```csharp
@@ -72,7 +72,7 @@ public class Startup
72
72
```
73
73
74
74
75
-
If you use filters in your feature flags, you must include the [Microsoft.FeatureManagement.FeatureFilters](/dotnet/api/microsoft.azure.management.storsimple8000series.models.featurefilter) namespace and add a call to AddFeatureFilters specifying the type name of the filter you want to use as the generic type of the method. For more information on using feature filters to dynamically enable and disable functionality, see [Enable staged rollout of features for targeted audiences](./howto-targetingfilter-aspnet-core.md).
75
+
If you use filters in your feature flags, you must include the [Microsoft.FeatureManagement.FeatureFilters](/dotnet/api/microsoft.featuremanagement.featurefilters) namespace and add a call to [AddFeatureFilter](/dotnet/api/microsoft.featuremanagement.ifeaturemanagementbuilder.addfeaturefilter) specifying the type name of the filter you want to use as the generic type of the method. For more information on using feature filters to dynamically enable and disable functionality, see [Enable staged rollout of features for targeted audiences](./howto-targetingfilter-aspnet-core.md).
76
76
77
77
The following example shows how to use a built-in feature filter called `PercentageFilter`:
78
78
@@ -217,7 +217,7 @@ By convention, the `FeatureManagement` section of this JSON document is used for
217
217
218
218
## Use dependency injection to access IFeatureManager
219
219
220
-
For some operations, such as manually checking feature flag values, you need to get an instance of IFeatureManager. In ASP.NET Core MVC, you can access the feature manager `IFeatureManager` through dependency injection. In the following example, an argument of type `IFeatureManager` is added to the signature of the constructor for a controller. The runtime automatically resolves the reference and provides an of the interface when calling the constructor. If you're using an application template in which the controller already has one or more dependency injection arguments in the constructor, such as `ILogger`, you can just add `IFeatureManager` as an additional argument:
220
+
For some operations, such as manually checking feature flag values, you need to get an instance of [IFeatureManager](/dotnet/api/microsoft.featuremanagement.ifeaturemanager). In ASP.NET Core MVC, you can access the feature manager `IFeatureManager` through dependency injection. In the following example, an argument of type `IFeatureManager` is added to the signature of the constructor for a controller. The runtime automatically resolves the reference and provides an of the interface when calling the constructor. If you're using an application template in which the controller already has one or more dependency injection arguments in the constructor, such as `ILogger`, you can just add `IFeatureManager` as an additional argument:
221
221
222
222
### [.NET 5.x](#tab/core5x)
223
223
@@ -321,7 +321,7 @@ public IActionResult Index()
321
321
}
322
322
```
323
323
324
-
When an MVC controller or action is blocked because the controlling feature flag is *off*, a registered IDisabledFeaturesHandler interface is called. The default `IDisabledFeaturesHandler` interface returns a 404 status code to the client with no response body.
324
+
When an MVC controller or action is blocked because the controlling feature flag is *off*, a registered [IDisabledFeaturesHandler](/dotnet/api/microsoft.featuremanagement.mvc.idisabledfeatureshandler) interface is called. The default `IDisabledFeaturesHandler` interface returns a 404 status code to the client with no response body.
In this tutorial, you learned how to implement feature flags in your ASP.NET Core application by using the `Microsoft.FeatureManagement` libraries. For more information about feature management support in ASP.NET Core and App Configuration, see the following resources:
397
397
398
398
*[ASP.NET Core feature flag sample code](./quickstart-feature-flag-aspnet-core.md)
* Each core must be at least 2.6 gigahertz (GHz) or faster.
74
74
@@ -92,9 +92,9 @@ Application for Gated Services**](https://aka.ms/csgate-translator) to request a
92
92
93
93
## Translator container image
94
94
95
-
The Translator container image can be found on the `mcr.microsoft.com` container registry syndicate. It resides within the `azure-cognitive-services/translator` repository and is named `text-translation`. The fully qualified container image name is `mcr.microsoft.com/azure-cognitive-services/translator/text-translation:1.0.019410001-amd64-preview`.
95
+
The Translator container image can be found on the `mcr.microsoft.com` container registry syndicate. It resides within the `azure-cognitive-services/translator` repository and is named `text-translation`. The fully qualified container image name is `mcr.microsoft.com/azure-cognitive-services/translator/text-translation:latest`.
96
96
97
-
To use the latest version of the container, you can use the `latest` tag. You can also find a full list of [tags on the MCR](https://mcr.microsoft.com/product/azure-cognitive-services/translator/text-translation/tags).
97
+
To use the latest version of the container, you can use the `latest` tag. You can find a full list of [tags on the MCR](https://mcr.microsoft.com/product/azure-cognitive-services/translator/text-translation/tags).
0 commit comments