您可以在 AKS 叢集中建立延伸模組執行個體,設定必要和選擇性參數,包括更新和設定相關選項。 您也可以檢視、列出、更新和刪除延伸模組執行個體。
在開始之前,請先閱讀叢集延伸模組。
注意
本文中提供的範例並不完整,僅供展示功能。 如需命令及其參數的完整清單,請參閱 az k8s-extension CLI 參考文件。
必要條件
Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,您可以建立免費帳戶。
您必須在訂用帳戶上註冊
Microsoft.ContainerService和Microsoft.KubernetesConfiguration資源提供者。 若要註冊這些提供者,請執行下列命令:az provider register --namespace Microsoft.ContainerService --wait az provider register --namespace Microsoft.KubernetesConfiguration --waitAKS 叢集。 此叢集必須是以受控識別所建立,因為叢集延伸模組將無法與服務主體型叢集搭配運作。 針對使用
az aks create建立的新叢集,預設會設定受控識別。 針對現有以服務主體為基礎的叢集,請執行az aks update並搭配--enable-managed-identity旗標,以切換為受控識別。 如需詳細資訊,請參閱使用受控識別。Azure CLI 版本 >= 2.16.0 已安裝。 建議使用最新版本。
最新版的
k8s-extensionAzure 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 |
擴充功能的安裝範圍 - cluster 或 namespace |
--release-namespace |
此參數指出要在哪個命名空間中建立該版本。 只有將 scope 參數設為 cluster 時,此參數才相關。 |
--release-train |
擴充功能作者可以在不同的發行軌道中發佈版本,例如 Stable、Preview 等。如果未明確設定此參數,預設會使用 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 |
擴充功能的安裝範圍 - cluster 或 namespace |
--release-train |
延伸模組作者可以透過不同的發行通道(例如 Stable、Preview 等)發佈版本。如果未明確設定此參數,預設會使用 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 發行版本。
下一步
- 檢視目前可用的叢集延伸模組清單。
- 深入了解透過 Marketplace 取得的 Kubernetes 應用程式 (部分機器翻譯)。