Azure CLI を使用したクラスター拡張機能のデプロイと管理
AKS クラスターに拡張機能インスタンスを作成し、更新と構成に関連するオプションを含む必須パラメーターと省略可能なパラメーターを設定できます。 拡張機能インスタンスを表示、一覧表示、更新、削除することもできます。
開始する前に、クラスター拡張機能についてお読みください。
注意
この記事で提供されている例は完全なものではなく、機能を紹介するだけのサンプルです。 コマンドとそのパラメーターの包括的な一覧については、az k8s-extension の CLI リファレンスを参照してください。
前提条件
Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、無料のアカウントを作成できます。
Microsoft.ContainerService
およびMicrosoft.KubernetesConfiguration
リソース プロバイダーは、サブスクリプションに登録する必要があります。 これらのプロバイダーを登録するには、次のコマンドを実行します。az provider register --namespace Microsoft.ContainerService --wait az provider register --namespace Microsoft.KubernetesConfiguration --wait
AKS クラスター。 クラスター拡張機能はサービス プリンシパル ベースのクラスターでは機能しないため、このクラスターはマネージド ID で作成されている必要があります。
az aks create
で作成される新しいクラスターの場合、マネージド ID が既定で構成されます。 既存のサービス プリンシパル ベースのクラスターの場合は、--enable-managed-identity
フラグを指定してaz aks update
を実行してマネージド ID に切り替えます。 詳細については、マネージド ID の使用に関するページを参照してください。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
Note
クラスター拡張機能サービスでは、48 時間よりも長く機密情報を保持することはできません。 クラスター拡張機能エージェントに 48 時間よりも長くネットワーク接続がなく、クラスターに拡張機能を作成するかどうかを判断できない場合、拡張機能は Failed
状態に遷移します。 Failed
状態になった後は、新しい拡張機能インスタンスを作成するために、k8s-extension create
を再び実行する必要があります。
必須のパラメーター
パラメーター名 | 説明 |
---|---|
--name |
拡張機能インスタンスの名前 |
--extension-type |
クラスターにインストールする拡張機能の種類。 例: Microsoft.AzureML.Kubernetes |
--cluster-name |
拡張機能インスタンスを作成する必要がある必要な AKS クラスターの名前。 |
--resource-group |
AKS クラスターを含むリソース グループ |
--cluster-type |
拡張機能インスタンスを作成する必要があるクラスターの種類。 AKS クラスターにマップする際、managedClusters を指定します。 |
省略可能なパラメーター
パラメーター名 | 説明 |
---|---|
--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 |
拡張機能のプラン ID。Azure portal の [Marketplace] ページの [使用状況情報とサポート] で確認できます。 |
--plan-product |
拡張機能の製品 ID。Azure portal の [Marketplace] ページの [使用状況情報とサポート] で確認できます。 この例は、使用される ISV オファリングの名前です。 |
--plan-publisher |
拡張機能のパブリッシャー ID。Azure portal の [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
拡張機能インスタンスの更新
Note
--configuration-settings
および --configuration-protected-settings
の更新可能な特定の設定について理解するには、特定の拡張機能の種類のドキュメントを参照してください。 --configuration-protected-settings
の場合、更新する設定が 1 つだけでも、すべての設定を指定することが想定されています。 これらの設定のいずれかを省略した場合、これらの設定は古いと見なされ、削除されます。
既存の拡張機能インスタンスを更新するには、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 |
拡張機能インスタンスを作成する必要があるクラスターの種類。 AKS クラスターにマップする際、managedClusters を指定します。 |
Marketplace から入手した Kubernetes アプリケーションを更新する場合は、次のパラメーターも必要です。
パラメーター名 | 説明 |
---|---|
--plan-name |
拡張機能のプラン ID。Azure portal の [Marketplace] ページの [使用状況情報とサポート] で確認できます。 |
--plan-product |
拡張機能の製品 ID。Azure portal の [Marketplace] ページの [使用状況情報とサポート] で確認できます。 この例は、使用される ISV オファリングの名前です。 |
--plan-publisher |
拡張機能のパブリッシャー ID。Azure portal の [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
Note
この拡張機能を表す Azure リソースはただちに削除されます。 Kubernetes クラスターで実行されているエージェントがネットワークに接続していて、目的の状態を取得するために Azure サービスに再びアクセスできる場合にのみ、この拡張機能に関連するクラスターの Helm リリースが削除されます。
次のステップ
- 現在使用可能なクラスター拡張機能の一覧を表示します。
- Marketplace で入手可能な Kubernetes アプリケーションについて確認します。
Azure Kubernetes Service