共用方式為


使用 Azure CLI 部署和管理叢集延伸模組

您可以在 AKS 叢集中建立延伸模組執行個體,設定必要和選擇性參數,包括更新和設定相關選項。 您也可以檢視、列出、更新和刪除延伸模組執行個體。

開始之前,請先閱讀叢集延伸模組 (部分機器翻譯)。

注意

本文中提供的範例並不完整,僅供展示功能。 如需命令與其參數的完整清單,請參閱 az k8s-extension CLI 參考 (部分機器翻譯)。

必要條件

  • Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,您可以建立免費帳戶

  • 您必須在訂用帳戶上註冊 Microsoft.ContainerServiceMicrosoft.KubernetesConfiguration 資源提供者。 若要註冊這些提供者,請執行下列命令:

    az provider register --namespace Microsoft.ContainerService --wait 
    az provider register --namespace Microsoft.KubernetesConfiguration --wait 
    
  • AKS 叢集。 此叢集必須是以受控識別所建立,因為叢集延伸模組將無法與服務主體型叢集搭配運作。 針對使用 az aks create 建立的新叢集,預設會設定受控識別。 針對現有的服務主體型叢集,切換為使用 --enable-managed-identity 旗標執行 az aks update 來管理身分識別。 如需詳細資訊,請參閱使用受控識別

  • Azure CLI 版本 >= 2.16.0 已安裝。 建議使用最新版本。

  • 最新版的 k8s-extension Azure CLI 延伸模組。 執行下列命令以安裝延伸模組:

    az extension add --name k8s-extension
    

    如果已經安裝延伸模組,請使用下列命令來確認您正在執行最新版本:

    az extension update --name k8s-extension
    

建立延伸模組執行個體

使用 k8s-extension create 建立新的擴充功能執行個體,並傳入必要參數的值。 此範例命令會在 AKS 叢集上建立 Azure Machine Learning 延伸模組執行個體:

az k8s-extension create --name azureml --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters --configuration-settings enableInference=True allowInsecureConnections=True inferenceRouterServiceType=LoadBalancer

此範例命令會在 AKS 叢集上建立範例 Kubernetes 應用程式 (在 Marketplace 上發佈):

az k8s-extension create --name voteapp --extension-type Contoso.AzureVoteKubernetesAppTest --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters --plan-name testPlanID --plan-product testOfferID --plan-publisher testPublisherID --configuration-settings title=VoteAnimal value1=Cats value2=Dogs

注意

叢集擴充功能服務無法保留敏感性資訊超過 48 小時。 如果叢集延伸模組代理程式沒有網路連線超過 48 小時,而且無法判斷是否要在叢集上建立延伸模組,則延伸模組會轉換為 Failed 狀態。 一旦處於 Failed 狀態之後,您必須再次執行 k8s-extension create,才能建立全新的延伸模組執行個體。

必要參數

參數名稱 描述
--name 擴充功能執行個體的名稱
--extension-type 選取您想要在叢集上安裝的擴充功能類型。 例如:Microsoft.AzureML.Kubernetes
--cluster-name 必須建立擴充功能執行個體的 AKS 叢集名稱
--resource-group 包含 AKS 叢集的資源群組
--cluster-type 必須建立擴充功能執行個體的叢集類型。 指定 managedClusters,因為其對應至 AKS 叢集

選擇性參數

參數名稱 描述
--auto-upgrade-minor-version 布林值屬性會指定擴充功能次要版本是否會自動升級。 預設值:true。 如果此參數設定為 true,則無法設定 version 參數,因為版本將會動態更新。 如果設定為 false,即使為修補檔版本,延伸模組也不會自動升級。
--version 要安裝的擴充功能版本 (要釘選擴充功能執行個體的特定版本)。 如果 auto-upgrade-minor-version 設定為 true,則不得提供。
--configuration-settings 可傳遞至擴充功能以控制其功能的設定。 在參數名稱之後,會以空格分隔 key=value 配對的形式傳遞值。 如果在命令中使用此參數,則 --configuration-settings-file 不能在相同的命令中使用。
--configuration-settings-file JSON 檔案的路徑,其索引鍵/值組可用來將組態設定傳遞至擴充功能。 如果在命令中使用此參數,則 --configuration-settings 不能在相同的命令中使用。
--configuration-protected-settings 無法使用 GET API 呼叫或 az k8s-extension show 命令來擷取這些設定,因此會用來傳入敏感性設定。 在參數名稱之後,會以空格分隔 key=value 配對的形式傳遞值。 如果在命令中使用此參數,則 --configuration-protected-settings-file 不能在相同的命令中使用。
--configuration-protected-settings-file JSON 檔案的路徑,其索引鍵/值組可用來將敏感性設定傳遞至擴充功能。 如果在命令中使用此參數,則 --configuration-protected-settings 不能在相同的命令中使用。
--scope 擴充功能的安裝範圍 - clusternamespace
--release-namespace 這個參數表示命名空間位於要建立的發行版本之內。 只有將 scope 參數設為 cluster 時,此參數才相關。
--release-train 延伸模組作者可以在各種發行訓練 (例如 StablePreview 等) 中發佈版本。如果未明確設定此參數,會使用 Stable 作為預設值。 當 --auto-upgrade-minor-version 參數設定為 false 時,無法使用此參數。
--target-namespace 這個參數表示將在發行版本中建立的命名空間。 為此擴充功能執行個體建立的系統帳戶權限會限制為此命名空間。 只有將 scope 參數設為 namespace 時,此參數才相關。
--plan-name 延伸模組的方案識別碼,可在 Azure 入口網站的 [Marketplace] 頁面上,於 [使用量資訊 + 支援] 底下找到。
--plan-product 延伸模組的產品識別碼,可在 Azure 入口網站的 [Marketplace] 頁面上,於 [使用量資訊 + 支援] 底下找到。 這其中一個範例是所使用的 ISV 供應項目名稱。
--plan-publisher 延伸模組的發行者識別碼,可在 Azure 入口網站的 [Marketplace] 頁面上,於 [使用量資訊 + 支援] 底下找到。

顯示擴充功能執行個體的詳細資料

若要檢視目前已安裝延伸模組執行個體的詳細資料,請使用 k8s-extension show 並傳入必要參數的值。

az k8s-extension show --name azureml --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters

列出叢集上安裝的所有擴充功能

若要列出叢集上安裝的所有延伸模組,請使用 k8s-extension list 並傳入必要參數的值。

az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters

更新擴充功能執行個體

注意

請參閱特定延伸模組類型的文件,以了解 --configuration-settings--configuration-protected-settings 中能夠更新的特定設定。 針對 --configuration-protected-settings,即使只更新一個設定,也要提供所有設定。 如果省略這其中任何設定,即會將那些設定視為已淘汰並加以刪除。

若要更新現有的延伸模組執行個體,請使用 k8s-extension update 並傳入必要參數的值。 下列命令會更新 Azure Machine Learning 延伸模組執行個體的自動升級設定:

az k8s-extension update --name azureml --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters

適用於更新的必要參數

參數名稱 描述
--name 擴充功能執行個體的名稱
--extension-type 選取您想要在叢集上安裝的擴充功能類型。 例如:Microsoft.AzureML.Kubernetes
--cluster-name 必須建立擴充功能執行個體的 AKS 叢集名稱
--resource-group 包含 AKS 叢集的資源群組
--cluster-type 必須建立擴充功能執行個體的叢集類型。 指定 managedClusters,因為其對應至 AKS 叢集

若要更新透過 Marketplace 採購的 Kubernetes 應用程式,也需要下列參數:

參數名稱 描述
--plan-name 延伸模組的方案識別碼,可在 Azure 入口網站的 [Marketplace] 頁面上,於 [使用量資訊 + 支援] 底下找到。
--plan-product 延伸模組的產品識別碼,可在 Azure 入口網站的 [Marketplace] 頁面上,於 [使用量資訊 + 支援] 底下找到。 這其中一個範例是所使用的 ISV 供應項目名稱。
--plan-publisher 延伸模組的發行者識別碼,可在 Azure 入口網站的 [Marketplace] 頁面上,於 [使用量資訊 + 支援] 底下找到。

適用於更新的選擇性參數

參數名稱 描述
--auto-upgrade-minor-version 布林值屬性會指定擴充功能次要版本是否會自動升級。 預設值:true。 如果此參數設定為 true,則無法設定 version 參數,因為版本將會動態更新。 如果設定為 false,即使為修補檔版本,延伸模組也不會自動升級。
--version 要安裝的擴充功能版本 (要釘選擴充功能執行個體的特定版本)。 如果 auto-upgrade-minor-version 設定為 true,則不得提供。
--configuration-settings 可傳遞至擴充功能以控制其功能的設定。 只需要提供需更新的設定。 所提供的設定會取代為所提供的值。 在參數名稱之後,會以空格分隔 key=value 配對的形式傳遞值。 如果在命令中使用此參數,則 --configuration-settings-file 不能在相同的命令中使用。
--configuration-settings-file JSON 檔案的路徑,其索引鍵/值組可用來將組態設定傳遞至擴充功能。 如果在命令中使用此參數,則 --configuration-settings 不能在相同的命令中使用。
--configuration-protected-settings 無法使用 GET API 呼叫或 az k8s-extension show 命令來擷取這些設定,因此會用來傳入敏感性設定。 更新設定時,應該要指定所有設定。 如果省略某些設定,則會將這些設定視為已淘汰並刪除。 在參數名稱之後,會以空格分隔 key=value 配對的形式傳遞值。 如果在命令中使用此參數,則 --configuration-protected-settings-file 不能在相同的命令中使用。
--configuration-protected-settings-file JSON 檔案的路徑,其索引鍵/值組可用來將敏感性設定傳遞至擴充功能。 如果在命令中使用此參數,則 --configuration-protected-settings 不能在相同的命令中使用。
--scope 擴充功能的安裝範圍 - clusternamespace
--release-train 延伸模組作者可以在各種發行訓練 (例如 StablePreview 等) 中發佈版本。如果未明確設定此參數,會使用 Stable 作為預設值。 當 autoUpgradeMinorVersion 參數設定為 false 時,無法使用此參數。

刪除延伸模組執行個體

若要刪除叢集上的延伸模組執行個體,請使用 k8s-extension-delete 並傳入必要參數的值。

az k8s-extension delete --name azureml --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters

注意

代表此擴充功能的 Azure 資源會立即刪除。 只有在 Kubernetes 叢集上執行的代理程式具有網路連線,並且可以再次連線到 Azure 服務以擷取所需的狀態時,才會刪除與此擴充功能建立關聯的叢集 Helm 版本。

下一步