Azure Kubernetes Service (AKS) 節點集區快照集
AKS 每周發行新的節點映像。 每個新叢集、新節點集區或升級叢集一律都會收到最新映像,導致難以維持一致性且具有重複環境。
節點集區快照集允許您設定節點集區的快照集,然後再建立新的節點集區或以該快照集為基礎的新叢集,只要支援該組態和 Kubernetes 版本即可。 如需支援性視窗的詳細資訊,請參閱 AKS 中支援的 Kubernetes 版本。
快照集為 Azure 資源,其中包含來源節點集區的設定資訊,例如節點映像版本、Kube 版本、OS 類型和 OS SKU。 然後,您可以參考此快照集資源和其組態的個別值,並依據其建立新的節點集區或叢集。
開始之前
此文章假設您目前具有 AKS 叢集。 如果您沒有 AKS 叢集,請參閱規劃 AKS 設計取得設計 AKS 企業級實作的指導。
限制
- 從快照集建立的任何節點集區或叢集,都必須使用與快照集相同的虛擬機器系列 VM,例如,您無法根據從 D 系列節點集區擷取的快照集建立新的 N 系列節點集區,因為在這些情況下的節點映像,存在結構性的不同。
- 快照集建立時必須與來源節點集區位在相同區域,可用來在其他區域建立或更新叢集和節點集區。
取用節點集區快照集
如果要從節點集區取用快照集,您需要節點集區資源識別碼,可以從下列命令取得:
NODEPOOL_ID=$(az aks nodepool show --name nodepool1 --cluster-name myAKSCluster --resource-group myResourceGroup --query id -o tsv)
重要
您的 AKS 節點集區,必須在 2021 年 11 月 10 日之後建立或升級,才能從中取用快照集。
如果您使用 aks-preview
Azure CLI 延伸模組版本 0.5.59
或更新版本,則節點集區快照集的命令已變更。 如需更新的命令,請參閱節點集區快照集 CLI 參考。
現在若要從先前的節點集區取用快照集,您可執行 az aks snapshot
CLI 命令。
az aks nodepool snapshot create --name MySnapshot --resource-group MyResourceGroup --nodepool-id $NODEPOOL_ID --location eastus
從快照集來建立節點集區
首先,您需要先前建立快照集的資源識別碼,可以從下列命令取得:
SNAPSHOT_ID=$(az aks nodepool snapshot show --name MySnapshot --resource-group myResourceGroup --query id -o tsv)
現在我們可以執行下列命令,新增以此快照集為基礎的新節點集區。
az aks nodepool add --name np2 --cluster-name myAKSCluster --resource-group myResourceGroup --snapshot-id $SNAPSHOT_ID
將節點集區升級至快照集
您可以將節點集區升級至快照集設定,只要快照集 kubernetes 版本和節點映像版本,比目前節點集區中的版本還新。
首先,您需要先前建立快照集的資源識別碼,可以從下列命令取得:
SNAPSHOT_ID=$(az aks nodepool snapshot show --name MySnapshot --resource-group myResourceGroup --query id -o tsv)
現在,我們可以執行此命令,將此節點集區升級至此快照集設定。
az aks nodepool upgrade --name nodepool1 --cluster-name myAKSCluster --resource-group myResourceGroup --snapshot-id $SNAPSHOT_ID
注意
您的節點集區映像版本,與快照集包含的版本相同,而且在每個縮放作業中,都會維持不變。 不過,如果此節點集區已升級,或將節點映像升級卻未提供快照集識別碼,則會將節點映像升級至最新版本。
注意
若要只升級節點集區的節點版本,請使用 --node-image-only
旗標。 如果您要升級節點集區的節點映像版本,且該節點集區是以具有相同 Kube 版本的快照集為基礎,就必須採取這種做法。
從快照集來建立叢集
您從快照集建立叢集時,快照集設定會建立叢集原始系統集區。
首先,您需要先前建立快照集的資源識別碼,可以從下列命令取得:
SNAPSHOT_ID=$(az aks nodepool snapshot show --name MySnapshot --resource-group myResourceGroup --query id -o tsv)
現在,我們可以執行此命令,從快照集組態來建立此叢集。
az aks create \
--name myAKSCluster2 \
--resource-group myResourceGroup \
--snapshot-id $SNAPSHOT_ID \
--generate-ssh-keys