Distribuire e gestire le estensioni del cluster usando l'interfaccia della riga di comando di Azure
È possibile creare istanze di estensione in un cluster del servizio Azure Kubernetes, impostando parametri obbligatori e facoltativi, incluse le opzioni correlate ad aggiornamenti e configurazioni. Inoltre è possibile visualizzare, elencare, aggiornare ed eliminare istanze di estensione.
Prima di iniziare, leggere le informazioni sulle estensioni del cluster.
Nota
Gli esempi indicati in questo articolo non sono completi e hanno unicamente lo scopo di presentare le funzionalità. Per un elenco completo dei comandi e dei relativi parametri, vedere il riferimento sull'interfaccia della riga di comando az k8s-extension.
Prerequisiti
Una sottoscrizione di Azure. Se non hai una sottoscrizione Azure, crea un account gratuito.
I provider di risorse
Microsoft.ContainerService
eMicrosoft.KubernetesConfiguration
devono essere registrati nella sottoscrizione. Per registrare questi provider, eseguire il comando seguente:az provider register --namespace Microsoft.ContainerService --wait az provider register --namespace Microsoft.KubernetesConfiguration --wait
Un cluster servizio Azure Kubernetes. Questo cluster deve essere stato creato con un'identità gestita: le estensioni del cluster non funzioneranno con cluster basati su entità servizio. Per i nuovi cluster creati con
az aks create
, l'identità gestita è configurata per impostazione predefinita. Per i cluster esistenti basati su entità servizio, passare alla gestione dell'identità eseguendoaz aks update
con il flag--enable-managed-identity
. Per altre informazioni, vedere Usare l’identità gestita.Versione dell'interfaccia della riga di comando di Azure>= 2.16.0 installata. È consigliabile usare la versione più recente.
La versione più recente delle estensioni dell'interfaccia della riga di comando di Azure
k8s-extension
. Installare l'estensione eseguendo il comando seguente:az extension add --name k8s-extension
Se l'estensione è già installata, assicurarsi di eseguire la versione più recente. A tal fine usare il comando seguente:
az extension update --name k8s-extension
Creare un'istanza dell'estensione
Creare una nuova istanza di estensione con k8s-extension create
, passando i valori per i parametri obbligatori. Questo comando di esempio crea un'istanza dell'estensione di Azure Machine Learning nel cluster del servizio Azure Kubernetes:
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
Questo comando di esempio crea un'applicazione Kubernetes campione (pubblicata in Marketplace) nel cluster del servizio Azure Kubernetes:
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
Nota
Il servizio Estensioni del cluster non è in grado di conservare le informazioni sensibili per più di 48 ore. Se gli agenti di estensione del cluster non hanno connettività di rete per più di 48 ore e non possono determinare se creare un'estensione nel cluster, l'estensione passa allo stato Failed
. Una volta in stato Failed
, sarà necessario eseguire di nuovo k8s-extension create
per creare un'istanza di estensione aggiornata.
Parametri obbligatori
Nome parametro | Descrizione |
---|---|
--name |
Nome dell'istanza dell'estensione |
--extension-type |
Tipo di estensione da installare nel cluster. Ad esempio: Microsoft.AzureML.Kubernetes |
--cluster-name |
Nome del cluster del servizio Azure Kubernetes in cui deve essere creata l'istanza dell'estensione |
--resource-group |
Il gruppo di risorse contenente il cluster del servizio Azure Kubernetes. |
--cluster-type |
Tipo di cluster in cui deve essere creata l'istanza dell'estensione. Specificare managedClusters come esegue il mapping ai cluster del servizio Azure Kubernetes |
Parametri facoltativi
Nome parametro | Descrizione |
---|---|
--auto-upgrade-minor-version |
Proprietà booleana che specifica se la versione secondaria dell'estensione verrà aggiornata automaticamente o meno. Impostazione predefinita: true . Se questo parametro è impostato su true, non è possibile impostare il parametro version , perché la versione verrà aggiornata in modo dinamico. Se impostato su false , l'estensione non verrà aggiornata automaticamente anche per le versioni della patch. |
--version |
Versione dell'estensione da installare (versione specifica a cui aggiungere l'istanza dell'estensione). Non deve essere fornito se l'aggiornamento automatico-versione secondaria è impostato su true . |
--configuration-settings |
Impostazioni che possono essere passate all'estensione per controllarne le funzionalità. Passare i valori come coppie key=value separate da spazi dopo il nome del parametro. Se questo parametro viene usato nel comando, --configuration-settings-file non può essere usato nello stesso comando. |
--configuration-settings-file |
Percorso al file JSON con coppie chiave-valore da usare per passare le impostazioni di configurazione all'estensione. Se questo parametro viene usato nel comando, --configuration-settings non può essere usato nello stesso comando. |
--configuration-protected-settings |
Queste impostazioni non sono recuperabili tramite chiamate API GET o i comandi az k8s-extension show e vengono quindi usate per passare impostazioni sensibili. Passare i valori come coppie key=value separate da spazi dopo il nome del parametro. Se questo parametro viene usato nel comando, --configuration-protected-settings-file non può essere usato nello stesso comando. |
--configuration-protected-settings-file |
Percorso al file JSON con coppie chiave-valore da usare per passare le impostazioni sensibili all'estensione. Se questo parametro viene usato nel comando, --configuration-protected-settings non può essere usato nello stesso comando. |
--scope |
Ambito dell'installazione per l'estensione - cluster o namespace |
--release-namespace |
Questo parametro indica lo spazio dei nomi in cui deve essere creata la versione. Questo parametro è rilevante solo se il parametro scope è impostato su cluster . |
--release-train |
Gli autori delle estensioni possono pubblicare versioni in diversi training di rilascio, quali Stable , Preview e così via. Se questo parametro non è impostato in modo esplicito, Stable viene usato come predefinito. Questo parametro non può essere usato quando il parametro --auto-upgrade-minor-version è impostato su false . |
--target-namespace |
Questo parametro indica lo spazio dei nomi in cui verrà creata la versione. L'autorizzazione dell'account di sistema creato per questa istanza di estensione sarà limitata a questo spazio dei nomi. Questo parametro è rilevante solo se il scope parametro è impostato su namespace . |
--plan-name |
ID piano dell'estensione, disponibile nella pagina Marketplace nel portale di Azure in Informazioni sull'utilizzo e supporto. |
--plan-product |
ID prodotto dell'estensione, disponibile nella pagina Marketplace nel portale di Azure in Informazioni sull'utilizzo e supporto. Un esempio è il nome dell'offerta ISV usata. |
--plan-publisher |
ID editore dell'estensione, disponibile nella pagina Marketplace nel portale di Azure in Informazioni sull'utilizzo e supporto. |
Visualizzare i dettagli di un'istanza di estensione
Per visualizzare i dettagli di un'istanza di estensione attualmente installata, usare k8s-extension show
, inserendo i valori per i parametri obbligatori.
az k8s-extension show --name azureml --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
Elencare tutte le estensioni installate nel cluster
Per elencare tutte le estensioni installate in un cluster, usare k8s-extension list
, inserendo i valori per i parametri obbligatori.
az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
Aggiornare l'istanza di estensione
Nota
Vedere la documentazione relativa al tipo di estensione specifico per comprendere le impostazioni appropriate in --configuration-settings
e --configuration-protected-settings
che possono essere aggiornate. Per --configuration-protected-settings
, è previsto che vengano specificate tutte le impostazioni, anche se viene aggiornata una sola impostazione. Se una di queste impostazioni viene omessa, tali impostazioni verranno considerate obsolete ed eliminate.
Per aggiornare un'istanza di estensione esistente, usare k8s-extension update
, inserendo i valori per i parametri obbligatori. Il comando seguente aggiorna l'impostazione di aggiornamento automatico per un'istanza di estensione di 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
Parametri obbligatori per l'aggiornamento
Nome parametro | Descrizione |
---|---|
--name |
Nome dell'istanza dell'estensione |
--extension-type |
Tipo di estensione da installare nel cluster. Ad esempio: Microsoft.AzureML.Kubernetes |
--cluster-name |
Nome del cluster del servizio Azure Kubernetes in cui deve essere creata l'istanza dell'estensione |
--resource-group |
Il gruppo di risorse contenente il cluster del servizio Azure Kubernetes. |
--cluster-type |
Tipo di cluster in cui deve essere creata l'istanza dell'estensione. Specificare managedClusters come esegue il mapping ai cluster del servizio Azure Kubernetes |
Se si aggiorna un'applicazione Kubernetes ottenuta tramite Marketplace, sono necessari anche i parametri seguenti:
Nome parametro | Descrizione |
---|---|
--plan-name |
ID piano dell'estensione, disponibile nella pagina Marketplace nel portale di Azure in Informazioni sull'utilizzo e supporto. |
--plan-product |
ID prodotto dell'estensione, disponibile nella pagina Marketplace nel portale di Azure in Informazioni sull'utilizzo e supporto. Un esempio è il nome dell'offerta ISV usata. |
--plan-publisher |
ID editore dell'estensione, disponibile nella pagina Marketplace nel portale di Azure in Informazioni sull'utilizzo e supporto. |
Parametri facoltativi per l'aggiornamento
Nome parametro | Descrizione |
---|---|
--auto-upgrade-minor-version |
Proprietà booleana che specifica se la versione secondaria dell'estensione verrà aggiornata automaticamente o meno. Impostazione predefinita: true . Se questo parametro è impostato su true, non è possibile impostare il parametro version perché la versione verrà aggiornata in modo dinamico. Se impostato su false , l'estensione non verrà aggiornata automaticamente anche per le versioni della patch. |
--version |
Versione dell'estensione da installare (versione specifica a cui aggiungere l'istanza dell'estensione). Non deve essere fornito se l'aggiornamento automatico-versione secondaria è impostato su true . |
--configuration-settings |
Impostazioni che possono essere passate all'estensione per controllarne le funzionalità. È necessario specificare solo le impostazioni che richiedono un aggiornamento. Le impostazioni specificate verranno sostituite con i valori indicati. Passare i valori come coppie key=value separate da spazi dopo il nome del parametro. Se questo parametro viene usato nel comando, --configuration-settings-file non può essere usato nello stesso comando. |
--configuration-settings-file |
Percorso al file JSON con coppie chiave-valore da usare per passare le impostazioni di configurazione all'estensione. Se questo parametro viene usato nel comando, --configuration-settings non può essere usato nello stesso comando. |
--configuration-protected-settings |
Queste impostazioni non sono recuperabili tramite chiamate API GET o i comandi az k8s-extension show e vengono quindi usate per passare impostazioni sensibili. Quando si aggiorna un'impostazione, è previsto che siano specificate tutte le impostazioni. Se alcune impostazioni vengono omesse, tali impostazioni verranno considerate obsolete ed eliminate. Passare i valori come coppie key=value separate da spazi dopo il nome del parametro. Se questo parametro viene usato nel comando, --configuration-protected-settings-file non può essere usato nello stesso comando. |
--configuration-protected-settings-file |
Percorso al file JSON con coppie chiave-valore da usare per passare le impostazioni sensibili all'estensione. Se questo parametro viene usato nel comando, --configuration-protected-settings non può essere usato nello stesso comando. |
--scope |
Ambito dell'installazione per l'estensione - cluster o namespace |
--release-train |
Gli autori delle estensioni possono pubblicare versioni in diversi training di rilascio, quali Stable , Preview e così via. Se questo parametro non è impostato in modo esplicito, Stable viene usato come predefinito. Questo parametro non può essere usato quando il parametro autoUpgradeMinorVersion è impostato su false . |
Eliminare l'istanza dell'estensione
Per eliminare un'istanza di estensione in un cluster, usare k8s-extension-delete
, inserendo i valori per i parametri obbligatori.
az k8s-extension delete --name azureml --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
Nota
La risorsa di Azure che rappresenta questa estensione viene eliminata immediatamente. La versione Helm nel cluster associato a questa estensione viene eliminata solo quando gli agenti in esecuzione nel cluster Kubernetes hanno connettività di rete e possono contattare nuovamente i servizi di Azure per recuperare lo stato desiderato.
Passaggi successivi
- Visualizzare l'elenco delle estensioni del cluster attualmente disponibili.
- Informazioni su Applicazioni Kubernetes disponibili in Marketplace.
Azure Kubernetes Service