Skip to content

Commit b367328

Browse files
authored
Merge pull request #78486 from iainfoulds/aksfreshness
[AKS] Freshness checks and updates
2 parents 524ae5d + 5a9b1ef commit b367328

8 files changed

+69
-93
lines changed

articles/aks/api-server-authorized-ip-ranges.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,6 @@ The Kubernetes API server is how the underlying Kubernetes APIs are exposed. Thi
7373

7474
To secure access to the otherwise publicly accessible AKS control plane / API server, you can enable and use authorized IP ranges. These authorized IP ranges only allow defined IP address ranges to communicate with the API server. A request made to the API server from an IP address that is not part of these authorized IP ranges is blocked. You should continue to use RBAC to then authorize users and the actions they request.
7575

76-
To use the authorized IP range functionality, a public IP address is exposed on the node pool by deploying a basic NGINX service. The API server communicates with the node pool through this authorized public IP address. You then define additional IP address ranges that can access the API server.
77-
7876
For more information about the API server and other cluster components, see [Kubernetes core concepts for AKS][concepts-clusters-workloads].
7977

8078
## Create an AKS cluster

articles/aks/cluster-autoscaler.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: iainfoulds
66

77
ms.service: container-service
88
ms.topic: article
9-
ms.date: 01/29/2019
9+
ms.date: 05/31/2019
1010
ms.author: iainfou
1111
---
1212

@@ -24,11 +24,11 @@ This article shows you how to enable and manage the cluster autoscaler in an AKS
2424
2525
## Before you begin
2626

27-
This article requires that you are running the Azure CLI version 2.0.55 or later. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][azure-cli-install].
27+
This article requires that you are running the Azure CLI version 2.0.65 or later. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][azure-cli-install].
2828

2929
### Install aks-preview CLI extension
3030

31-
AKS clusters that support the cluster autoscaler must use virtual machine scale sets and run Kubernetes version *1.12.4* or later. This scale set support is in preview. To opt in and create clusters that use scale sets, first install the *aks-preview* Azure CLI extension using the [az extension add][az-extension-add] command, as shown in the following example:
31+
AKS clusters that support the cluster autoscaler must use virtual machine scale sets and run Kubernetes version *1.12.7* or later. This scale set support is in preview. To opt in and create clusters that use scale sets, first install the *aks-preview* Azure CLI extension using the [az extension add][az-extension-add] command, as shown in the following example:
3232

3333
```azurecli-interactive
3434
az extension add --name aks-preview
@@ -59,9 +59,10 @@ az provider register --namespace Microsoft.ContainerService
5959

6060
## Limitations
6161

62-
The following limitations apply when you create and manage AKS clusters that use virtual machine scale sets:
62+
The following limitations apply when you create and manage AKS clusters that use the cluster autoscaler:
6363

6464
* The HTTP application routing add-on can't be used.
65+
* Multiple node pools (currently in preview in AKS) can't currently be used.
6566

6667
## About the cluster autoscaler
6768

articles/aks/control-kubeconfig-access.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: iainfoulds
66

77
ms.service: container-service
88
ms.topic: article
9-
ms.date: 01/03/2019
9+
ms.date: 05/31/2019
1010
ms.author: iainfou
1111
---
1212

@@ -20,7 +20,7 @@ This article shows you how to assign RBAC roles that limit who can get the confi
2020

2121
This article assumes that you have an existing AKS cluster. If you need an AKS cluster, see the AKS quickstart [using the Azure CLI][aks-quickstart-cli] or [using the Azure portal][aks-quickstart-portal].
2222

23-
This article also requires that you are running the Azure CLI version 2.0.53 or later. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][azure-cli-install].
23+
This article also requires that you are running the Azure CLI version 2.0.65 or later. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][azure-cli-install].
2424

2525
## Available cluster roles permissions
2626

@@ -41,9 +41,9 @@ These RBAC roles can be applied to an Azure Active Directory (AD) user or group.
4141

4242
## Assign role permissions to a user or group
4343

44-
To assign one of the available roles, you need to get the resource ID of the AKS cluster and the ID of the Azure AD user account or group. The following example commands do the following steps:
44+
To assign one of the available roles, you need to get the resource ID of the AKS cluster and the ID of the Azure AD user account or group. The following example commands:
4545

46-
* Gets the cluster resource ID using the [az aks show][az-aks-show] command for the cluster named *myAKSCluster* in the *myResourceGroup* resource group. Provide your own cluster and resource group name as needed.
46+
* Get the cluster resource ID using the [az aks show][az-aks-show] command for the cluster named *myAKSCluster* in the *myResourceGroup* resource group. Provide your own cluster and resource group name as needed.
4747
* Uses the [az account show][az-account-show] and [az ad user show][az-ad-user-show] commands to get your user ID.
4848
* Finally, assigns a role using the [az role assignment create][az-role-assignment-create] command.
4949

@@ -65,7 +65,7 @@ az role assignment create \
6565
```
6666

6767
> [!TIP]
68-
> If you want to assign permissions to an Azure AD group, update the `--assignee` parameter with the object ID for the group rather than a user as shown in the previous example. To obtain the object ID for a group, use the [az ad group show][az-ad-group-show] command. The following example gets the object ID for the Azure AD group named *appdev*: `az ad group show --group appdev --query objectId -o tsv`
68+
> If you want to assign permissions to an Azure AD group, update the `--assignee` parameter shown in the previous example with the object ID for the *group* rather than a *user*. To obtain the object ID for a group, use the [az ad group show][az-ad-group-show] command. The following example gets the object ID for the Azure AD group named *appdev*: `az ad group show --group appdev --query objectId -o tsv`
6969
7070
You can change the previous assignment to the *Cluster User Role* as needed.
7171

articles/aks/scale-cluster.md

Lines changed: 8 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ author: iainfoulds
66

77
ms.service: container-service
88
ms.topic: article
9-
ms.date: 01/10/2019
9+
ms.date: 05/31/2019
1010
ms.author: iainfoulds
1111
---
1212

1313
# Scale the node count in an Azure Kubernetes Service (AKS) cluster
1414

15-
If the resource needs of your applications change, you can manually scale an AKS cluster to run a different number of nodes. When you scale down, nodes are carefully [cordoned and drained][kubernetes-drain] to minimize disruption to running applications. When you scale up, the `az` command waits until nodes are marked `Ready` by the Kubernetes cluster.
15+
If the resource needs of your applications change, you can manually scale an AKS cluster to run a different number of nodes. When you scale down, nodes are carefully [cordoned and drained][kubernetes-drain] to minimize disruption to running applications. When you scale up, AKS waits until nodes are marked `Ready` by the Kubernetes cluster before pods are scheduled on them.
1616

1717
## Scale the cluster nodes
1818

19-
First, get the *name* of your nodepool using the [az aks show][az-aks-show] command. The following example gets the nodepool name for the cluster named *myAKSCluster* in the *myResourceGroup* resource group:
19+
First, get the *name* of your node pool using the [az aks show][az-aks-show] command. The following example gets the node pool name for the cluster named *myAKSCluster* in the *myResourceGroup* resource group:
2020

2121
```azurecli-interactive
2222
az aks show --resource-group myResourceGroup --name myAKSCluster --query agentPoolProfiles
@@ -40,7 +40,7 @@ $ az aks show --resource-group myResourceGroup --name myAKSCluster --query agent
4040
]
4141
```
4242

43-
Use the `az aks scale` command to scale the cluster nodes. The following example scales a cluster named *myAKSCluster* to a single node. Provide your own *--nodepool-name* from the previous command, such as *nodepool1*:
43+
Use the [az aks scale][az-aks-scale] command to scale the cluster nodes. The following example scales a cluster named *myAKSCluster* to a single node. Provide your own *--nodepool-name* from the previous command, such as *nodepool1*:
4444

4545
```azurecli-interactive
4646
az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 1 --nodepool-name <your node pool name>
@@ -64,53 +64,19 @@ The following example output shows the cluster has successfully scaled to one no
6464
"vnetSubnetId": null
6565
}
6666
],
67-
"dnsPrefix": "myAKSClust-myResourceGroup-19da35",
68-
"enableRbac": true,
69-
"fqdn": "myaksclust-myresourcegroup-19da35-0d60b16a.hcp.eastus.azmk8s.io",
70-
"id": "/subscriptions/<guid>/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster",
71-
"kubernetesVersion": "1.9.11",
72-
"linuxProfile": {
73-
"adminUsername": "azureuser",
74-
"ssh": {
75-
"publicKeys": [
76-
{
77-
"keyData": "[...]"
78-
}
79-
]
80-
}
81-
},
82-
"location": "eastus",
83-
"name": "myAKSCluster",
84-
"networkProfile": {
85-
"dnsServiceIp": "10.0.0.10",
86-
"dockerBridgeCidr": "172.17.0.1/16",
87-
"networkPlugin": "kubenet",
88-
"networkPolicy": null,
89-
"podCidr": "10.244.0.0/16",
90-
"serviceCidr": "10.0.0.0/16"
91-
},
92-
"nodeResourceGroup": "MC_myResourceGroup_myAKSCluster_eastus",
93-
"provisioningState": "Succeeded",
94-
"resourceGroup": "myResourceGroup",
95-
"servicePrincipalProfile": {
96-
"clientId": "[...]",
97-
"secret": null
98-
},
99-
"tags": null,
100-
"type": "Microsoft.ContainerService/ManagedClusters"
67+
[...]
10168
}
10269
```
10370

10471
## Next steps
10572

106-
Learn more about deploying and managing AKS with the AKS tutorials.
107-
108-
> [!div class="nextstepaction"]
109-
> [AKS Tutorial][aks-tutorial]
73+
In this article, you manually scaled an AKS cluster to increase or decrease the number of nodes. You can also use the [cluster autoscaler][cluster-autoscaler] (currently in preview in AKS) to automatically scale your cluster.
11074

11175
<!-- LINKS - external -->
11276
[kubernetes-drain]: https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/
11377

11478
<!-- LINKS - internal -->
11579
[aks-tutorial]: ./tutorial-kubernetes-prepare-app.md
11680
[az-aks-show]: /cli/azure/aks#az-aks-show
81+
[az-aks-scale]: /cli/azure/aks#az-aks-scale
82+
[cluster-autoscaler]: cluster-autoscaler.md

articles/aks/update-credentials.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: iainfoulds
66

77
ms.service: container-service
88
ms.topic: article
9-
ms.date: 01/30/2019
9+
ms.date: 05/31/2019
1010
ms.author: iainfou
1111
---
1212

@@ -16,7 +16,7 @@ By default, AKS clusters are created with a service principal that has a one-yea
1616

1717
## Before you begin
1818

19-
You need the Azure CLI version 2.0.56 or later installed and configured. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][install-azure-cli].
19+
You need the Azure CLI version 2.0.65 or later installed and configured. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][install-azure-cli].
2020

2121
## Choose to update or create a service principal
2222

@@ -29,10 +29,11 @@ If you want to create a service principal and then update the AKS cluster, skip
2929

3030
### Get the service principal ID
3131

32-
To update the credentials for the existing service principal, get the service principal ID of your cluster using the [az aks show][az-aks-show] command. The following example gets the ID for the cluster named *myAKSCluster* in the *myResourceGroup* resource group. The service principal ID is set as a variable for use in additional command.
32+
To update the credentials for the existing service principal, get the service principal ID of your cluster using the [az aks show][az-aks-show] command. The following example gets the ID for the cluster named *myAKSCluster* in the *myResourceGroup* resource group. The service principal ID is set as a variable named *SP_ID* for use in additional command.
3333

3434
```azurecli-interactive
35-
SP_ID=$(az aks show -g myResourceGroup -n myAKSCluster --query servicePrincipalProfile.clientId -o tsv)
35+
SP_ID=$(az aks show --resource-group myResourceGroup --name myAKSCluster \
36+
--query servicePrincipalProfile.clientId -o tsv)
3637
```
3738

3839
### Update the service principal credentials

articles/aks/upgrade-cluster.md

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: iainfoulds
66

77
ms.service: container-service
88
ms.topic: article
9-
ms.date: 02/12/2019
9+
ms.date: 05/31/2019
1010
ms.author: iainfou
1111
---
1212

@@ -18,7 +18,7 @@ For AKS clusters that use multiple node pools or Windows Server nodes (both curr
1818

1919
## Before you begin
2020

21-
This article requires that you are running the Azure CLI version 2.0.56 or later. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][azure-cli-install].
21+
This article requires that you are running the Azure CLI version 2.0.65 or later. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][azure-cli-install].
2222

2323
## Check for available AKS cluster upgrades
2424

@@ -29,24 +29,26 @@ az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster --outpu
2929
```
3030

3131
> [!NOTE]
32-
> When you upgrade an AKS cluster, Kubernetes minor versions cannot be skipped. For example, upgrades between *1.10.x* -> *1.11.x* or *1.11.x* -> *1.12.x* are allowed, however *1.10.x* -> *1.12.x* is not.
32+
> When you upgrade an AKS cluster, Kubernetes minor versions cannot be skipped. For example, upgrades between *1.11.x* -> *1.12.x* or *1.12.x* -> *1.13.x* are allowed, however *1.11.x* -> *1.13.x* is not.
3333
>
34-
> To upgrade, from *1.10.x* -> *1.12.x*, first upgrade from *1.10.x* -> *1.11.x*, then upgrade from *1.11.x* -> *1.12.x*.
34+
> To upgrade, from *1.11.x* -> *1.13.x*, first upgrade from *1.11.x* -> *1.12.x*, then upgrade from *1.12.x* -> *1.13.x*.
3535
36-
The following example output shows that the cluster can be upgraded to version *1.11.5* or *1.11.6*:
36+
The following example output shows that the cluster can be upgraded to version *1.12.7* or *1.12.8*:
3737

3838
```console
39-
Name ResourceGroup MasterVersion NodePoolVersion Upgrades
40-
------- --------------- --------------- ----------------- --------------
41-
default myResourceGroup 1.10.12 1.10.12 1.11.5, 1.11.6
39+
Name ResourceGroup MasterVersion NodePoolVersion Upgrades
40+
------- --------------- ------------- --------------- --------------
41+
default myResourceGroup 1.11.9 1.11.9 1.12.7, 1.12.8
4242
```
4343

4444
## Upgrade an AKS cluster
4545

46-
With a list of available versions for your AKS cluster, use the [az aks upgrade][az-aks-upgrade] command to upgrade. During the upgrade process, AKS adds a new node to the cluster, then carefully [cordon and drains][kubernetes-drain] one node at a time to minimize disruption to running applications. The following example upgrades a cluster to version *1.11.6*:
46+
With a list of available versions for your AKS cluster, use the [az aks upgrade][az-aks-upgrade] command to upgrade. During the upgrade process, AKS adds a new node to the cluster that runs the specified Kubernetes version, then carefully [cordon and drains][kubernetes-drain] one of the old nodes to minimize disruption to running applications. When the new node is confirmed as running application pods, the old node is deleted. This process repeats until all nodes in the cluster have been upgraded.
47+
48+
The following example upgrades a cluster to version *1.12.8*:
4749

4850
```azurecli-interactive
49-
az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version 1.11.6
51+
az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version 1.12.8
5052
```
5153

5254
It takes a few minutes to upgrade the cluster, depending on how many nodes you have.
@@ -62,7 +64,7 @@ The following example output shows that the cluster now runs *1.11.6*:
6264
```json
6365
Name Location ResourceGroup KubernetesVersion ProvisioningState Fqdn
6466
------------ ---------- --------------- ------------------- ------------------- ---------------------------------------------------------------
65-
myAKSCluster eastus myResourceGroup 1.11.6 Succeeded myaksclust-myresourcegroup-19da35-90efab95.hcp.eastus.azmk8s.io
67+
myAKSCluster eastus myResourceGroup 1.12.8 Succeeded myaksclust-myresourcegroup-19da35-90efab95.hcp.eastus.azmk8s.io
6668
```
6769

6870
## Next steps

articles/aks/use-multiple-node-pools.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ The following limitations apply when you create and manage AKS clusters that sup
7070
* You can't delete the first node pool.
7171
* The HTTP application routing add-on can't be used.
7272
* You can't add/update/delete node pools using an existing Resource Manager template as with most operations. Instead, [use a separate Resource Manager template](#manage-node-pools-using-a-resource-manager-template) to make changes to node pools in an AKS cluster.
73+
* The cluster autoscaler (currently in preview in AKS) can't be used.
7374

7475
While this feature is in preview, the following additional limitations apply:
7576

@@ -328,7 +329,7 @@ Only pods that have this taint applied can be scheduled on nodes in *gpunodepool
328329

329330
## Manage node pools using a Resource Manager template
330331

331-
When you use an Azure Resource Manager template to create and managed resources, you can typically update the settings in your template and redeploy to update the resource. With nodepools in AKS, the initial nodepool profile can't be updated once the AKS cluster has been created. This behavior means that you can't update an existing Resource Manager template, make a change to the node pools, and redeploy. Instead, you must create a separate Resource Manager template that updates only the agent pools for an existing AKS cluster.
332+
When you use an Azure Resource Manager template to create and managed resources, you can typically update the settings in your template and redeploy to update the resource. With node pools in AKS, the initial node pool profile can't be updated once the AKS cluster has been created. This behavior means that you can't update an existing Resource Manager template, make a change to the node pools, and redeploy. Instead, you must create a separate Resource Manager template that updates only the agent pools for an existing AKS cluster.
332333

333334
Create a template such as `aks-agentpools.json` and paste the following example manifest. This example template configures the following settings:
334335

@@ -433,7 +434,7 @@ az group delete --name myResourceGroup --yes --no-wait
433434

434435
## Next steps
435436

436-
In this article you learned how to create and manage multiple node pools in an AKS cluster. For more information about how to control pods across node pools, see [Best practices for advanced scheduler features in AKS][operator-best-practices-advanced-scheduler].
437+
In this article, you learned how to create and manage multiple node pools in an AKS cluster. For more information about how to control pods across node pools, see [Best practices for advanced scheduler features in AKS][operator-best-practices-advanced-scheduler].
437438

438439
To create and use Windows Server container node pools, see [Create a Windows Server container in AKS][aks-windows].
439440

0 commit comments

Comments
 (0)