Skip to content

Commit 51f47c9

Browse files
Fleet update orchestration enhancements
1 parent ee85e78 commit 51f47c9

File tree

1 file changed

+88
-14
lines changed

1 file changed

+88
-14
lines changed

articles/kubernetes-fleet/update-orchestration.md

Lines changed: 88 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -72,22 +72,42 @@ Platform admins managing Kubernetes fleets with large number of clusters often h
7272

7373
### [Azure CLI](#tab/cli)
7474

75-
Run the following command to update the Kubernetes version and the node image version for all clusters of the fleet one by one:
75+
**Creating an update run**:
7676

77-
```azurecli-interactive
78-
az fleet updaterun create --resource-group $GROUP --fleet-name $FLEET --name run-1 --upgrade-type Full --kubernetes-version 1.26.0
79-
```
77+
- Run the following command to update the Kubernetes version and the node image version for all clusters of the fleet one by one:
8078

81-
> [!NOTE]
82-
> The `--upgrade-type` flag supports the values `Full` or `NodeImageOnly`. `Full` updates both the node images and the Kubernetes version.
83-
> `--node-image-selection` supports the values `Latest` and `Consistent`.
84-
> - **Latest**: Updates every AKS cluster in the update run to the latest image available for that cluster in its region.
85-
> - **Consistent**: As it's possible for an update run to have AKS clusters across multiple regions where the latest available node images can be different (check [release tracker](../aks/release-tracker.md) for more information). The update run picks the **latest common** image across all these regions to achieve consistency.
79+
```azurecli-interactive
80+
az fleet updaterun create --resource-group $GROUP --fleet-name $FLEET --name run-1 --upgrade-type Full --kubernetes-version 1.26.0
81+
```
82+
83+
- Run the following command to update the Kubernetes version for only the control plane of all member clusters of the fleet one by one:
84+
85+
```azurecli-interactive
86+
az fleet updaterun create --resource-group $GROUP --fleet-name $FLEET --name run-2 --upgrade-type ControlPlaneOnly --kubernetes-version 1.26.0
87+
```
88+
89+
- Run the following command to update only the node image versions for all clusters of the fleet one by one:
90+
91+
```azurecli-interactive
92+
az fleet updaterun create --resource-group $GROUP --fleet-name $FLEET --name run-3 --upgrade-type NodeImageOnly
93+
```
8694

87-
Run the following command to update only the node image versions for all clusters of the fleet one by one:
95+
When creating an update run, you have the ability to control the scope of the update run. The `--upgrade-type` flag supports the following values:
96+
- `ControlPlaneOnly` only upgrades the Kubernetes version for the control plane of the cluster.
97+
- `Full` upgrades Kubernetes version for control plane and node pools along with the node images.
98+
- `NodeImageOnly` only upgrades the node images.
99+
100+
Also, the `--node-image-selection` flag supports choosing the behavior for the target node images used for upgrades in an update run
101+
- **Latest**: Updates every AKS cluster in the update run to the latest image available for that cluster in its region.
102+
- **Consistent**: As it's possible for an update run to have AKS clusters across multiple regions where the latest available node images can be different (check [release tracker](../aks/release-tracker.md) for more information). The update run picks the **latest common** image across all these regions to achieve consistency.
103+
104+
105+
**Starting an update run**:
106+
107+
Run the following command to start any of the above created update run:
88108
89109
```azurecli-interactive
90-
az fleet updaterun create --resource-group $GROUP --fleet-name $FLEET --name run-2 --upgrade-type NodeImageOnly
110+
az fleet updaterun start --resource-group $GROUP --fleet-name $FLEET --name <run-name>
91111
```
92112
93113
---
@@ -188,7 +208,7 @@ You can define an update run using update stages in order to sequentially order
188208
1. Run the following command to create the update run:
189209
190210
```azurecli-interactive
191-
az fleet updaterun create --resource-group $GROUP --fleet-name $FLEET --name run-3 --upgrade-type Full --kubernetes-version 1.26.0 --stages example-stages.json
211+
az fleet updaterun create --resource-group $GROUP --fleet-name $FLEET --name run-4 --upgrade-type Full --kubernetes-version 1.26.0 --stages example-stages.json
192212
```
193213
194214
Here's an example of input from the stages file (*example-stages.json*):
@@ -229,10 +249,19 @@ You can define an update run using update stages in order to sequentially order
229249
}
230250
```
231251

252+
When creating an update run, you have the ability to control the scope of the update run. The `--upgrade-type` flag supports the following values:
253+
- `ControlPlaneOnly` only upgrades the Kubernetes version for the control plane of the cluster.
254+
- `Full` upgrades Kubernetes version for control plane and node pools along with the node images.
255+
- `NodeImageOnly` only upgrades the node images.
256+
257+
Also, the `--node-image-selection` flag supports choosing the behavior for the target node images used for upgrades in an update run
258+
- **Latest**: Updates every AKS cluster in the update run to the latest image available for that cluster in its region.
259+
- **Consistent**: As it's possible for an update run to have AKS clusters across multiple regions where the latest available node images can be different (check [release tracker](../aks/release-tracker.md) for more information). The update run picks the **latest common** image across all these regions to achieve consistency.
260+
232261
1. Run the following command to start this update run:
233262
234263
```azurecli-interactive
235-
az fleet updaterun start --resource-group $GROUP --fleet-name $FLEET --name run-3
264+
az fleet updaterun start --resource-group $GROUP --fleet-name $FLEET --name run-4
236265
```
237266
238267
---
@@ -271,8 +300,53 @@ Creating an update run required the stages, groups, and their order to be specif
271300
1. Run the following command to create an update run referencing this strategy:
272301
273302
```azurecli-interactive
274-
az fleet updaterun create --resource-group $GROUP --fleet-name $FLEET --name run-4 --update-strategy-name strategy-1 --upgrade-type NodeImageOnly --node-image-selection Consistent
303+
az fleet updaterun create --resource-group $GROUP --fleet-name $FLEET --name run-5 --update-strategy-name strategy-1 --upgrade-type NodeImageOnly --node-image-selection Consistent
275304
```
305+
---
306+
307+
### Manage an Update run
308+
309+
There are a few options to manage update runs:
310+
311+
#### [Azure portal](#tab/azure-portal)
312+
313+
- Under **Multi-cluster update** tab of the fleet resource, you can **Start** an update run that is either in **Not started** or **Failed** state.
314+
315+
:::image type="content" source="./media/update-orchestration/run-start.png" alt-text="A screenshot of the Azure portal showing how to start an update run in the 'Not started' state" lightbox="./media/update-orchestration/run-start.png":::
316+
317+
- Under **Multi-cluster update** tab of the fleet resource, you can **Stop** a currently **Running** update run.
318+
319+
:::image type="content" source="./media/update-orchestration/run-stop.png" alt-text="A screenshot of the Azure portal showing how to stop an update run in the 'Running' state" lightbox="./media/update-orchestration/run-stop.png":::
320+
321+
- Within any update run in **Not Started**, **Failed**, or **Running** state, you can select any **Stage** and **Skip** the upgrade.
322+
323+
:::image type="content" source="./media/update-orchestration/skip-stage.png" alt-text="A screenshot of the Azure portal shwowing how to skip upgrade for a specific stage in an update run." lightbox="./media/update-orchestration/skip-stage.png":::
324+
325+
You can similarly skip the upgrade at the update group or member cluster level too.
326+
327+
[Refer to conceptual overview on the update run states and skip behavior](concepts-update-orchestration.md#update-run-states) on runs/stages/groups for more information.
328+
329+
#### [Azure CLI](#tab/cli)
330+
331+
- You can **Start** an update run that is either in **Not started** or **Failed** state:
332+
333+
```azurecli-interactive
334+
az fleet updaterun start --resource-group $GROUP --fleet-name $FLEET --name <run-name>
335+
```
336+
337+
- You can **Stop** a currently **Running** update run:
338+
339+
```azurecli-interactive
340+
az fleet updaterun stop --resource-group $GROUP --fleet-name $FLEET --name <run-name>
341+
```
342+
343+
- You can skip update stages or groups by specifying them under targets of the skip command:
344+
345+
```azurecli-interactive
346+
az fleet updaterun skip --resource-group $GROUP --fleet-name $FLEET --name <run-name> --targets Group:my-group-name Stage:my-stage-name
347+
```
348+
349+
[Refer to conceptual overview on the update run states and skip behavior](concepts-update-orchestration.md#update-run-states) on runs/stages/groups for more information.
276350
277351
---
278352

0 commit comments

Comments
 (0)