Share via


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

下一步