Condividi tramite


Kubernetes@1 - Attività Kubectl v1

Distribuire, configurare e aggiornare un cluster Kubernetes nel servizio Azure Container eseguendo i comandi kubectl.

Distribuire, configurare e aggiornare il cluster Kubernetes nel servizio Azure Container eseguendo i comandi kubectl.

Sintassi

# Kubectl v1
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands.
- task: Kubernetes@1
  inputs:
  # Kubernetes Cluster
    #connectionType: 'Kubernetes Service Connection' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout. Service connection type. Default: Kubernetes Service Connection.
    #kubernetesServiceEndpoint: # string. Required when connectionType = Kubernetes Service Connection && command != logout. Kubernetes service connection. 
    #azureSubscriptionEndpoint: # string. Required when connectionType = Azure Resource Manager && command != logout. Azure subscription. 
    #azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout. Resource group. 
    #kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout. Kubernetes cluster. 
    #useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout. Use cluster admin credentials. Default: false.
    #namespace: # string. Optional. Use when command != logout. Namespace. 
  # Commands
    #command: # 'apply' | 'create' | 'delete' | 'exec' | 'expose' | 'get' | 'login' | 'logout' | 'logs' | 'run' | 'set' | 'top'. Command. 
    #useConfigurationFile: false # boolean. Optional. Use when command != login && command != logout. Use configuration. Default: false.
    #configurationType: 'configuration' # 'configuration' | 'inline'. Optional. Use when useConfigurationFile = true. Configuration type. Default: configuration.
    configuration: # string. Required when configurationType = configuration. File path. 
    #inline: # string. Required when configurationType = inline. Inline configuration. 
    #arguments: # string. Optional. Use when command != login && command != logout. Arguments. 
  # Secrets
    #secretType: 'dockerRegistry' # 'dockerRegistry' | 'generic'. Required when command != login && command != logout. Type of secret. Default: dockerRegistry.
    #secretArguments: # string. Optional. Use when secretType = generic && command != login && command != logout. Arguments. 
    #containerRegistryType: 'Azure Container Registry' # 'Azure Container Registry' | 'Container Registry'. Required when secretType = dockerRegistry && command != login && command != logout. Container registry type. Default: Azure Container Registry.
    #dockerRegistryEndpoint: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout. Docker registry service connection. 
    #azureSubscriptionEndpointForSecrets: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure subscription. 
    #azureContainerRegistry: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure container registry. 
    #secretName: # string. Optional. Use when command != login && command != logout. Secret name. 
    #forceUpdate: true # boolean. Optional. Use when command != login && command != logout. Force update secret. Default: true.
  # ConfigMaps
    #configMapName: # string. Optional. Use when command != login && command != logout. ConfigMap name. 
    #forceUpdateConfigMap: false # boolean. Optional. Use when command != login && command != logout. Force update configmap. Default: false.
    #useConfigMapFile: false # boolean. Optional. Use when command != login && command != logout. Use file. Default: false.
    #configMapFile: # string. Required when useConfigMapFile = true && command != login && command != logout. ConfigMap file. 
    #configMapArguments: # string. Optional. Use when useConfigMapFile = false && command != login && command != logout. Arguments. 
  # Advanced
    #versionOrLocation: 'version' # 'version' | 'location'. Kubectl. Default: version.
    #versionSpec: '1.13.2' # string. Optional. Use when versionOrLocation = version. Version spec. Default: 1.13.2.
    #checkLatest: false # boolean. Optional. Use when versionOrLocation = version. Check for latest version. Default: false.
    #specifyLocation: # string. Required when versionOrLocation = location. Path to kubectl. 
    #workingDirectory: '$(System.DefaultWorkingDirectory)' # string. Alias: cwd. Working directory. Default: $(System.DefaultWorkingDirectory).
    #outputFormat: 'json' # 'json' | 'yaml' | 'none'. Output format. Default: json.
# Kubectl v1
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands.
- task: Kubernetes@1
  inputs:
  # Kubernetes Cluster
    #connectionType: 'Kubernetes Service Connection' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout. Service connection type. Default: Kubernetes Service Connection.
    #kubernetesServiceEndpoint: # string. Required when connectionType = Kubernetes Service Connection && command != logout. Kubernetes service connection. 
    #azureSubscriptionEndpoint: # string. Required when connectionType = Azure Resource Manager && command != logout. Azure subscription. 
    #azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout. Resource group. 
    #kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout. Kubernetes cluster. 
    #useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout. Use cluster admin credentials. Default: false.
    #namespace: # string. Optional. Use when command != logout. Namespace. 
  # Commands
    #command: # 'apply' | 'create' | 'delete' | 'exec' | 'expose' | 'get' | 'login' | 'logout' | 'logs' | 'run' | 'set' | 'top'. Command. 
    #useConfigurationFile: false # boolean. Optional. Use when command != login && command != logout. Use configuration. Default: false.
    #configurationType: 'configuration' # 'configuration' | 'inline'. Optional. Use when useConfigurationFile = true. Configuration type. Default: configuration.
    configuration: # string. Required when configurationType = configuration. File path. 
    #inline: # string. Required when configurationType = inline. Inline configuration. 
    #arguments: # string. Optional. Use when command != login && command != logout. Arguments. 
  # Secrets
    #secretType: 'dockerRegistry' # 'dockerRegistry' | 'generic'. Required when command != login && command != logout. Type of secret. Default: dockerRegistry.
    #secretArguments: # string. Optional. Use when secretType = generic && command != login && command != logout. Arguments. 
    #containerRegistryType: 'Azure Container Registry' # 'Azure Container Registry' | 'Container Registry'. Required when secretType = dockerRegistry && command != login && command != logout. Container registry type. Default: Azure Container Registry.
    #dockerRegistryEndpoint: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout. Docker registry service connection. 
    #azureSubscriptionEndpointForSecrets: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure subscription. 
    #azureContainerRegistry: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure container registry. 
    #secretName: # string. Optional. Use when command != login && command != logout. Secret name. 
    #forceUpdate: true # boolean. Optional. Use when command != login && command != logout. Force update secret. Default: true.
  # ConfigMaps
    #configMapName: # string. Optional. Use when command != login && command != logout. ConfigMap name. 
    #forceUpdateConfigMap: false # boolean. Optional. Use when command != login && command != logout. Force update configmap. Default: false.
    #useConfigMapFile: false # boolean. Optional. Use when command != login && command != logout. Use file. Default: false.
    #configMapFile: # string. Required when useConfigMapFile = true && command != login && command != logout. ConfigMap file. 
    #configMapArguments: # string. Optional. Use when useConfigMapFile = false && command != login && command != logout. Arguments. 
  # Advanced
    #versionOrLocation: 'version' # 'version' | 'location'. Kubectl. Default: version.
    #versionSpec: '1.13.2' # string. Optional. Use when versionOrLocation = version. Version spec. Default: 1.13.2.
    #checkLatest: false # boolean. Optional. Use when versionOrLocation = version. Check for latest version. Default: false.
    #specifyLocation: # string. Required when versionOrLocation = location. Path to kubectl. 
    #workingDirectory: '$(System.DefaultWorkingDirectory)' # string. Alias: cwd. Working directory. Default: $(System.DefaultWorkingDirectory).
    #outputFormat: 'json' # 'json' | 'yaml'. Output format. Default: json.
# Deploy to Kubernetes v1
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands.
- task: Kubernetes@1
  inputs:
  # Kubernetes Cluster
    #connectionType: 'Kubernetes Service Connection' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout. Service connection type. Default: Kubernetes Service Connection.
    #kubernetesServiceEndpoint: # string. Required when connectionType = Kubernetes Service Connection && command != logout. Kubernetes service connection. 
    #azureSubscriptionEndpoint: # string. Required when connectionType = Azure Resource Manager && command != logout. Azure subscription. 
    #azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout. Resource group. 
    #kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout. Kubernetes cluster. 
    #useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout. Use cluster admin credentials. Default: false.
    #namespace: # string. Optional. Use when command != logout. Namespace. 
  # Commands
    #command: # 'apply' | 'create' | 'delete' | 'exec' | 'expose' | 'get' | 'login' | 'logout' | 'logs' | 'run' | 'set' | 'top'. Command. 
    #useConfigurationFile: false # boolean. Optional. Use when command != login && command != logout. Use configuration. Default: false.
    #configurationType: 'configuration' # 'configuration' | 'inline'. Optional. Use when useConfigurationFile = true. Configuration type. Default: configuration.
    configuration: # string. Required when configurationType = configuration. File path. 
    #inline: # string. Required when configurationType = inline. Inline configuration. 
    #arguments: # string. Optional. Use when command != login && command != logout. Arguments. 
  # Secrets
    #secretType: 'dockerRegistry' # 'dockerRegistry' | 'generic'. Required when command != login && command != logout. Type of secret. Default: dockerRegistry.
    #secretArguments: # string. Optional. Use when secretType = generic && command != login && command != logout. Arguments. 
    #containerRegistryType: 'Azure Container Registry' # 'Azure Container Registry' | 'Container Registry'. Required when secretType = dockerRegistry && command != login && command != logout. Container registry type. Default: Azure Container Registry.
    #dockerRegistryEndpoint: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout. Docker registry service connection. 
    #azureSubscriptionEndpointForSecrets: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure subscription. 
    #azureContainerRegistry: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure container registry. 
    #secretName: # string. Optional. Use when command != login && command != logout. Secret name. 
    #forceUpdate: true # boolean. Optional. Use when command != login && command != logout. Force update secret. Default: true.
  # ConfigMaps
    #configMapName: # string. Optional. Use when command != login && command != logout. ConfigMap name. 
    #forceUpdateConfigMap: false # boolean. Optional. Use when command != login && command != logout. Force update configmap. Default: false.
    #useConfigMapFile: false # boolean. Optional. Use when command != login && command != logout. Use file. Default: false.
    #configMapFile: # string. Required when useConfigMapFile = true && command != login && command != logout. ConfigMap file. 
    #configMapArguments: # string. Optional. Use when useConfigMapFile = false && command != login && command != logout. Arguments. 
  # Advanced
    #versionOrLocation: 'version' # 'version' | 'location'. Kubectl. Default: version.
    #versionSpec: '1.13.2' # string. Optional. Use when versionOrLocation = version. Version spec. Default: 1.13.2.
    #checkLatest: false # boolean. Optional. Use when versionOrLocation = version. Check for latest version. Default: false.
    #specifyLocation: # string. Required when versionOrLocation = location. Path to kubectl. 
    #workingDirectory: '$(System.DefaultWorkingDirectory)' # string. Alias: cwd. Working directory. Default: $(System.DefaultWorkingDirectory).
    #outputFormat: 'json' # 'json' | 'yaml'. Output format. Default: json.
# Deploy to Kubernetes v1
# Deploy, configure, update your Kubernetes cluster in Azure Container Service by running kubectl commands.
- task: Kubernetes@1
  inputs:
  # Kubernetes Cluster
    #connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout. Service connection type. Default: Azure Resource Manager.
    #kubernetesServiceEndpoint: # string. Required when connectionType = Kubernetes Service Connection && command != logout. Kubernetes service connection. 
    #azureSubscriptionEndpoint: # string. Required when connectionType = Azure Resource Manager && command != logout. Azure subscription. 
    #azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout. Resource group. 
    #kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout. Kubernetes cluster. 
    #namespace: # string. Optional. Use when command != logout. Namespace. 
  # Commands
    command: 'apply' # 'apply' | 'create' | 'delete' | 'exec' | 'expose' | 'get' | 'login' | 'logout' | 'logs' | 'run' | 'set' | 'top'. Required. Command. Default: apply.
    #useConfigurationFile: false # boolean. Optional. Use when command != login && command != logout. Use configuration files. Default: false.
    #configuration: # string. Required when useConfigurationFile = true. Configuration file. 
    #arguments: # string. Optional. Use when command != login && command != logout. Arguments. 
  # Secrets
    #secretType: 'dockerRegistry' # 'dockerRegistry' | 'generic'. Required when command != login && command != logout. Type of secret. Default: dockerRegistry.
    #secretArguments: # string. Optional. Use when secretType = generic && command != login && command != logout. Arguments. 
    #containerRegistryType: 'Azure Container Registry' # 'Azure Container Registry' | 'Container Registry'. Required when secretType = dockerRegistry && command != login && command != logout. Container registry type. Default: Azure Container Registry.
    #dockerRegistryEndpoint: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout. Docker registry service connection. 
    #azureSubscriptionEndpointForSecrets: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure subscription. 
    #azureContainerRegistry: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure container registry. 
    #secretName: # string. Optional. Use when command != login && command != logout. Secret name. 
    #forceUpdate: true # boolean. Optional. Use when command != login && command != logout. Force update secret. Default: true.
  # ConfigMaps
    #configMapName: # string. Optional. Use when command != login && command != logout. ConfigMap name. 
    #forceUpdateConfigMap: false # boolean. Optional. Use when command != login && command != logout. Force update configmap. Default: false.
    #useConfigMapFile: false # boolean. Optional. Use when command != login && command != logout. Use file. Default: false.
    #configMapFile: # string. Required when useConfigMapFile = true && command != login && command != logout. ConfigMap file. 
    #configMapArguments: # string. Optional. Use when useConfigMapFile = false && command != login && command != logout. Arguments. 
  # Advanced
    #versionOrLocation: 'version' # 'version' | 'location'. Optional. Use when command != login && command != logout. Kubectl. Default: version.
    #versionSpec: '1.7.0' # string. Optional. Use when versionOrLocation = version && command != login && command != logout. Version spec. Default: 1.7.0.
    #checkLatest: false # boolean. Optional. Use when versionOrLocation = version && command != login && command != logout. Check for latest version. Default: false.
    #specifyLocation: # string. Required when versionOrLocation = location && command != login && command != logout. Path to kubectl. 
    #workingDirectory: '$(System.DefaultWorkingDirectory)' # string. Alias: cwd. Optional. Use when command != login && command != logout. Working directory. Default: $(System.DefaultWorkingDirectory).
    #outputFormat: 'json' # 'json' | 'yaml'. Optional. Use when command != login && command != logout. Output format. Default: json.

Input

connectionType - Tipo di connessione del servizio
string. Obbligatorio quando command != logout. Valori consentiti: Azure Resource Manager, Kubernetes Service Connection, None. Valore predefinito: Kubernetes Service Connection.

Specifica il tipo di connessione del servizio: Azure Resource Manager quando si usa servizio Azure Kubernetes o connessione al servizio Kubernetes per qualsiasi altro cluster.

  • Kubernetes Service Connection - Consente di specificare un file KubeConfig, specificare un account del servizio o importare un'istanza del servizio Azure Kubernetes con l'opzione Sottoscrizione di Azure . L'importazione di un'istanza del servizio Azure Kubernetes con l'opzione Sottoscrizione di Azure richiede l'accesso al cluster Kubernetes in fase di configurazione della connessione al servizio.
  • Azure Resource Manager - Consente di selezionare un'istanza del servizio Azure Kubernetes. Non accede al cluster Kubernetes in fase di configurazione della connessione al servizio.
  • None - Usare una configurazione Kubernetes creata in locale.

Per altre informazioni, vedere Connessione al servizio nella sezione Osservazioni seguente.


connectionType - Tipo di connessione del servizio
string. Obbligatorio quando command != logout. Valori consentiti: Azure Resource Manager, Kubernetes Service Connection, None. Valore predefinito: Azure Resource Manager.

Specifica il tipo di connessione del servizio: Azure Resource Manager quando si usa servizio Azure Kubernetes o connessione al servizio Kubernetes per qualsiasi altro cluster.


kubernetesServiceEndpoint - Connessione al servizio Kubernetes
string. Obbligatorio quando connectionType = Kubernetes Service Connection && command != logout.

Selezionare una connessione al servizio Kubernetes.


azureSubscriptionEndpoint - Sottoscrizione di Azure
string. Obbligatorio quando connectionType = Azure Resource Manager && command != logout.

Specifica la sottoscrizione di Azure Resource Manager che contiene il Registro Azure Container.

Nota

Per configurare una nuova connessione al servizio, specificare la sottoscrizione di Azure dall'elenco e fare clic su Authorize. Se la sottoscrizione non è elencata o se si vuole usare un'entità servizio esistente, è possibile configurare una connessione al servizio di Azure usando i Add pulsanti o Manage .


azureResourceGroup - Gruppo di risorse
string. Obbligatorio quando connectionType = Azure Resource Manager && command != logout.

Selezionare un gruppo di risorse di Azure.


kubernetesCluster - Cluster Kubernetes
string. Obbligatorio quando connectionType = Azure Resource Manager && command != logout.

Selezionare un cluster gestito di Azure.


useClusterAdmin - Usare le credenziali di amministratore del cluster
boolean. facoltativo. Usare quando connectionType = Azure Resource Manager && command != logout. Valore predefinito: false.

Usare le credenziali di amministratore del cluster anziché le credenziali utente del cluster predefinite.


namespace - Namespace
string. facoltativo. Usare quando command != logout.

Impostare lo spazio dei nomi per il comando kubectl usando il flag –namespace. Se lo spazio dei nomi non viene specificato, i comandi verranno eseguiti nello spazio dei nomi predefinito.


command - Comando
string. Valori consentiti: apply, create, execdelete, expose, get, , logoutlogsloginrunset. top

Selezionare o specificare un comando kubectl da eseguire. L'elenco dei valori consentiti offre alcune scelte comuni per semplificare la selezione quando si usa l'attività assistente, ma è possibile specificare altri comandi kubectl, ad scaleesempio . Usare l'input arguments per specificare parametri aggiuntivi per il comando specificato kubectl .


command - Comando
string. Obbligatorio. Valori consentiti: apply, create, execdelete, expose, get, , logoutlogsloginrunset. top Valore predefinito: apply.

Selezionare o specificare un comando kubectl da eseguire.


useConfigurationFile - Usare la configurazione
boolean. facoltativo. Usare quando command != login && command != logout. Valore predefinito: false.

Specifica la configurazione di Kubernetes da usare con il kubectl comando . È possibile specificare lo script inline, il nome file, la directory o l'URL dei file di configurazione di Kubernetes.


useConfigurationFile - Usare i file di configurazione
boolean. facoltativo. Usare quando command != login && command != logout. Valore predefinito: false.

Specifica la configurazione di Kubernetes da usare con il kubectl comando . È possibile specificare lo script inline, il nome file, la directory o l'URL dei file di configurazione di Kubernetes.


configurationType - Tipo di configurazione
string. facoltativo. Usare quando useConfigurationFile = true. Valori consentiti: configuration (percorso file), inline (configurazione inline). Valore predefinito: configuration.

Specifica il tipo di configurazione di Kubernetes per il kubectl comando. Può essere un percorso di file o uno script inline.


configuration - Percorso file
string. Obbligatorio quando configurationType = configuration.

Specifica il nome file, la directory o l'URL per i file di configurazione kubernetes usati con i comandi.


configuration - File di configurazione
string. Obbligatorio quando useConfigurationFile = true.

Specifica il nome file, la directory o l'URL per i file di configurazione kubernetes usati con i comandi.


inline - Configurazione inline
string. Obbligatorio quando configurationType = inline.

Specifica la configurazione della distribuzione inline per il kubectl comando .


arguments - Argomenti
string. facoltativo. Usare quando command != login && command != logout.

Argomenti per il comando kubectl specificato.


secretType - Tipo di segreto
string. Obbligatorio quando command != login && command != logout. Valori consentiti: dockerRegistry, generic. Valore predefinito: dockerRegistry.

Creare/aggiornare un'immagine generica o dockerpullsecret. Selezionare dockerRegistry per creare/aggiornare l'immaginepullsecret del Registro di sistema selezionato. ImagePullSecret è un modo per passare un segreto contenente una password del registro contenitori a Kubelet in modo che possa eseguire il pull di un'immagine privata per conto del pod.


secretArguments - Argomenti
string. facoltativo. Usare quando secretType = generic && command != login && command != logout.

Specifica le chiavi e i valori letterali da inserire nel segreto. Ad esempio, --from-literal=key1=value1o --from-literal=key2="top secret".


containerRegistryType - Tipo di Registro contenitori
string. Obbligatorio quando secretType = dockerRegistry && command != login && command != logout. Valori consentiti: Azure Container Registry, Container Registry. Valore predefinito: Azure Container Registry.

Selezionare un tipo di Registro Contenitori. L'attività può usare i dettagli della sottoscrizione di Azure per usare un Registro Azure Container. Sono supportati anche altri registri contenitori standard.


dockerRegistryEndpoint - Connessione del servizio del Registro di sistema Docker
string. facoltativo. Usare quando secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout.

Selezionare una connessione al servizio del Registro di sistema Docker. Obbligatorio per i comandi che devono eseguire l'autenticazione con un Registro di sistema.


azureSubscriptionEndpointForSecrets - Sottoscrizione di Azure
string. facoltativo. Usare quando secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout.

Specifica la sottoscrizione di Azure Resource Manager, che contiene Registro Azure Container.

Nota

Per configurare una nuova connessione al servizio, selezionare la sottoscrizione di Azure dall'elenco e fare clic su Authorize. Se la sottoscrizione non è elencata o se si vuole usare un'entità servizio esistente, è possibile configurare una connessione al servizio di Azure usando i Add pulsanti o Manage .


azureContainerRegistry - Registro Azure Container
string. facoltativo. Usare quando secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout.

Specifica un Registro Azure Container utilizzato per il pull delle immagini del contenitore e la distribuzione di applicazioni nel cluster Kubernetes. Obbligatorio per i comandi che devono eseguire l'autenticazione con un Registro di sistema.


secretName - Nome segreto
string. facoltativo. Usare quando command != login && command != logout.

Nome del segreto. È possibile usare questo nome segreto nel file di configurazione YAML kubernetes.


forceUpdate - Forzare il segreto di aggiornamento
boolean. facoltativo. Usare quando command != login && command != logout. Valore predefinito: true.

Eliminare il segreto se esiste e crearne uno nuovo con valori aggiornati.


configMapName - Nome ConfigMap
string. facoltativo. Usare quando command != login && command != logout.

ConfigMaps consente di separare gli artefatti di configurazione dal contenuto dell'immagine per mantenere le applicazioni in contenitori portabili.


forceUpdateConfigMap - Forzare la configurazione dell'aggiornamento
boolean. facoltativo. Usare quando command != login && command != logout. Valore predefinito: false.

Eliminare la mappa di configurazione se esiste e crearne una nuova con valori aggiornati.


useConfigMapFile - Usare il file
boolean. facoltativo. Usare quando command != login && command != logout. Valore predefinito: false.

Crea un ConfigMap oggetto da un singolo file o da più file specificando una directory.


configMapFile - File ConfigMap
string. Obbligatorio quando useConfigMapFile = true && command != login && command != logout.

Specificare un file o una directory che contiene le configurazioniMap.


configMapArguments - Argomenti
string. facoltativo. Usare quando useConfigMapFile = false && command != login && command != logout.

Specifica i valori letterali e chiavi da inserire in configMap. Ad esempio, --from-literal=key1=value1 o --from-literal=key2="top secret".


versionOrLocation - Kubectl
string. Valori consentiti: version, location (specificare la posizione). Valore predefinito: version.

kubectl è un'interfaccia della riga di comando per l'esecuzione di comandi nei cluster Kubernetes.


versionOrLocation - Kubectl
string. facoltativo. Usare quando command != login && command != logout. Valori consentiti: version, location (specificare la posizione). Valore predefinito: version.

kubectl è un'interfaccia della riga di comando per l'esecuzione di comandi nei cluster Kubernetes.


versionSpec - Specifica versione
string. facoltativo. Usare quando versionOrLocation = version. Valore predefinito: 1.13.2.

Specifica la specifica della versione della versione da ottenere. Esempi: 1.7.0, 1.x.0, 4.x.06.10.0, >=6.10.0.


versionSpec - Specifica versione
string. facoltativo. Usare quando versionOrLocation = version && command != login && command != logout. Valore predefinito: 1.7.0.

-18-2 Specifica la specifica della versione della versione da ottenere. Esempi: 1.7.0, 1.x.0, 4.x.06.10.0, >=6.10.0.


checkLatest - Verificare la versione più recente
boolean. facoltativo. Usare quando versionOrLocation = version. Valore predefinito: false.

Controlla sempre online la versione più recente disponibile (stable.txt) che soddisfa le specifiche della versione. Questo è in genere false a meno che non si abbia uno scenario specifico per ottenere sempre l'ultima versione. Ciò comporta costi di download quando potenzialmente non è necessario, soprattutto con il pool di compilazione ospitato.


checkLatest - Verificare la versione più recente
boolean. facoltativo. Usare quando versionOrLocation = version && command != login && command != logout. Valore predefinito: false.

Controlla sempre online la versione più recente disponibile (stable.txt) che soddisfa le specifiche della versione. Questo è in genere false a meno che non si abbia uno scenario specifico per ottenere sempre l'ultima versione. Ciò comporta costi di download quando potenzialmente non è necessario, soprattutto con il pool di compilazione ospitato.


specifyLocation - Percorso di kubectl
string. Obbligatorio quando versionOrLocation = location.

Specifica il percorso completo del kubectl.exe file.


specifyLocation - Percorso di kubectl
string. Obbligatorio quando versionOrLocation = location && command != login && command != logout.

Specifica il percorso completo del kubectl.exe file.


workingDirectory - Directory di lavoro
Alias di input: cwd. string. Valore predefinito: $(System.DefaultWorkingDirectory).

Directory di lavoro per il comando Kubectl.


workingDirectory - Directory di lavoro
Alias di input: cwd. string. facoltativo. Usare quando command != login && command != logout. Valore predefinito: $(System.DefaultWorkingDirectory).

Directory di lavoro per il comando Kubectl.


outputFormat - Formato di output
string. Valori consentiti: json, yaml, none. Valore predefinito: json.

Formato di output.


outputFormat - Formato di output
string. Valori consentiti: json, yaml. Valore predefinito: json.

Formato di output.


outputFormat - Formato di output
string. facoltativo. Usare quando command != login && command != logout. Valori consentiti: json, yaml. Valore predefinito: json.

Formato di output.


Opzioni di controllo delle attività

Tutte le attività dispongono di opzioni di controllo oltre ai relativi input attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.

Variabili di output

Questa attività definisce le variabili di output seguenti, che è possibile usare nei passaggi, nei processi e nelle fasi downstream.

KubectlOutput
Archivia l'output del kubectl comando.

Commenti

Novità della versione 1.0.

  • È stato aggiunto un nuovo input del tipo di connessione del servizio per una semplice selezione dei cluster del servizio Azure Kubernetes.
  • Sostituito l'input della variabile di output con una sezione delle variabili di output aggiunte in tutte le attività.

Usare questa attività per distribuire, configurare o aggiornare un cluster Kubernetes eseguendo comandi kubectl.

Connessione al servizio

L'attività funziona con due tipi di connessione del servizio: Connessione al servizio Azure Resource Manager e Kubernetes, descritta di seguito.

Azure Resource Manager

Impostare connectionType su e specificare un azureSubscriptionEndpoint oggetto Azure Resource Manager per usare una connessione al servizio di Resource Manager di Azure.

Questo esempio YAML illustra come viene usato l'Resource Manager di Azure per fare riferimento al cluster Kubernetes. Questa operazione deve essere usata con uno dei comandi kubectl e i valori appropriati richiesti dal comando.

variables:
  azureSubscriptionEndpoint: Contoso
  azureContainerRegistry: contoso.azurecr.io
  azureResourceGroup: Contoso
  kubernetesCluster: Contoso
  useClusterAdmin: false

steps:
- task: Kubernetes@1
  displayName: kubectl apply
  inputs:
    connectionType: Azure Resource Manager
    azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
    azureResourceGroup: $(azureResourceGroup)
    kubernetesCluster: $(kubernetesCluster)
    useClusterAdmin: $(useClusterAdmin)

Connessione al servizio Kubernetes

Impostare connectionType su Kubernetes Service Connection e specificare un kubernetesServiceEndpoint oggetto per usare una connessione al servizio Kubernetes.

In questo esempio YAML viene illustrato come viene usata una connessione al servizio Kubernetes per fare riferimento al cluster Kubernetes. Questa operazione deve essere usata con uno dei comandi kubectl e i valori appropriati richiesti dal comando.

- task: Kubernetes@1
  displayName: kubectl apply
  inputs:
    connectionType: Kubernetes Service Connection
    kubernetesServiceEndpoint: Contoso

Considerazioni sulla connessione al servizio Kubernetes durante l'accesso al servizio Azure Kubernetes

È possibile creare una connessione al servizio Kubernetes con una delle opzioni seguenti.

  • KubeConfig
  • Account del servizio
  • Sottoscrizione di Azure

Screenshot della scelta di un metodo di autenticazione della connessione al servizio Kubernetes.

Quando si seleziona l'opzione Sottoscrizione di Azure , Kubernetes deve essere accessibile ad Azure DevOps in fase di configurazione della connessione al servizio. È possibile che non sia possibile creare una connessione al servizio, ad esempio è stato creato un cluster privato o che il cluster ha account locali disabilitati. In questi casi Azure DevOps non può connettersi al cluster in fase di configurazione della connessione al servizio e verrà visualizzata una schermata di caricamento bloccata degli spazi dei nomi .

Screenshot della scelta di una finestra di dialogo di autenticazione della connessione al servizio Kubernetes bloccata durante il caricamento degli spazi dei nomi.

A partire da Kubernetes 1.24, i token di lunga durata non vengono più creati per impostazione predefinita. Kubernetes consiglia di non usare token di lunga durata. Di conseguenza, le attività che usano una connessione al servizio Kubernetes creata con l'opzione Sottoscrizione di Azure non hanno accesso al token permanente necessario per l'autenticazione e non possono accedere al cluster Kubernetes. Ciò comporta anche la finestra di dialogo Carica spazi dei nomi bloccati.

Usare la connessione al servizio azure Resource Manager per accedere al servizio Azure Kubernetes

Per i clienti del servizio Azure Kubernetes, il tipo di connessione del servizio Resource Manager di Azure offre il metodo migliore per connettersi a un cluster privato o a un cluster con account locali disabilitati. Questo metodo non dipende dalla connettività del cluster al momento della creazione di una connessione al servizio. L'accesso al servizio Azure Kubernetes viene posticipato al runtime della pipeline, con i vantaggi seguenti:

  • L'accesso a un cluster del servizio Azure Kubernetes (privato) può essere eseguito da un agente del set di scalabilità o self-hosted con vista linea al cluster.
  • Viene creato un token per ogni attività che usa una connessione al servizio di Resource Manager di Azure. Ciò garantisce la connessione a Kubernetes con un token di breve durata, ovvero la raccomandazione Kubernetes.
  • È possibile accedere al servizio Azure Kubernetes anche quando gli account locali sono disabilitati.

Domande frequenti sulla connessione al servizio

Viene visualizzato il messaggio di errore seguente: impossibile trovare alcun segreto associato all'account del servizio. Cosa sta succedendo?

Si usa la connessione al servizio Kubernetes con l'opzione Sottoscrizione di Azure. Questo metodo viene aggiornato per creare token di lunga durata. Questa operazione dovrebbe essere disponibile a metà maggio. È tuttavia consigliabile iniziare a usare il tipo di connessione del servizio di Azure e non usare token di lunga durata in base alle indicazioni di Kubernetes.

Si usa il servizio Azure Kubernetes e non si vuole modificare nulla, è possibile continuare a usare le attività con la connessione al servizio Kubernetes?

Questo metodo viene aggiornato per creare token di lunga durata. Questa operazione dovrebbe essere disponibile a metà maggio. Tuttavia, tenere presente che questo approccio è contro le indicazioni di Kubernetes.

Si usano le attività Kubernetes e la connessione al servizio Kubernetes, ma non il servizio Azure Kubernetes. Dovrei essere preoccupato?

Le attività continueranno a funzionare come prima.

Il tipo di connessione del servizio Kubernetes verrà rimosso?

Le attività Kubernetes funzionano con qualsiasi cluster Kubernetes, indipendentemente dalla posizione in cui vengono eseguite. La connessione al servizio Kubernetes continuerà a esistere.

Io sono un cliente del servizio Azure Kubernetes e tutto è in esecuzione, dovrei agire?

Non c'è bisogno di cambiare nulla. Se si usa la connessione al servizio Kubernetes e la sottoscrizione di Azure selezionata durante la creazione, è necessario tenere presente le indicazioni su Kubernetes sull'uso di token di lunga durata.

Si sta creando un ambiente Kubernetes e non è possibile usare le connessioni al servizio

Nel caso in cui non sia possibile accedere al servizio Azure Kubernetes durante l'ora di creazione dell'ambiente, è possibile usare un ambiente vuoto e impostare l'input connectionType su una connessione del servizio di Resource Manager di Azure.

Il servizio Azure Kubernetes è configurato con il controllo degli accessi in base al ruolo di Azure Active Directory e la pipeline non funziona. Questi aggiornamenti verranno risolti?

L'accesso a Kubernetes quando il controllo degli accessi in base al ruolo di AAD non è correlato alla creazione di token. Per evitare un prompt interattivo, verrà supportato kubelogin in un aggiornamento futuro.

Comandi

L'input del comando accetta comandi kubectl.

Questo esempio YAML illustra il comando apply :

- task: Kubernetes@1
  displayName: kubectl apply using arguments
  inputs:
    connectionType: Azure Resource Manager
    azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
    azureResourceGroup: $(azureResourceGroup)
    kubernetesCluster: $(kubernetesCluster)
    command: apply
    arguments: -f mhc-aks.yaml

Questo esempio YAML illustra l'uso di un file di configurazione con il comando apply :

- task: Kubernetes@1
  displayName: kubectl apply using configFile
  inputs:
    connectionType: Azure Resource Manager
    azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
    azureResourceGroup: $(azureResourceGroup)
    kubernetesCluster: $(kubernetesCluster)
    command: apply
    useConfigurationFile: true
    configuration: mhc-aks.yaml

Questo esempio YAML illustra l'uso di come usare il comando di scalabilità per ridurre il numero di repliche in una distribuzione a 0.

- task: Kubernetes@1
      displayName: 'Scale down deployment $(k8sDeployment) to 0'
      inputs:
        connectionType: 'Kubernetes Service Connection'
        kubernetesServiceEndpoint: $(kubernetesServiceConnection)
        command: 'scale'
        arguments: 'deployment/$(k8sDeployment) --replicas=0'
        namespace: $(namespace)

Segreti

Gli oggetti Kubernetes del segreto di tipo sono destinati a contenere informazioni riservate, ad esempio password, token OAuth e chiavi SSH. L'inserimento di queste informazioni in un segreto è più sicuro e più flessibile rispetto all'inserimento verbatim in una definizione pod o in un'immagine Docker. Azure Pipelines semplifica l'aggiunta di a un account del servizio o la configurazione di ImagePullSecrets qualsiasi segreto generico, come descritto di seguito.

ImagePullSecret

Questo esempio YAML illustra la configurazione di ImagePullSecrets:

    - task: Kubernetes@1
      displayName: kubectl apply for secretType dockerRegistry
      inputs:
        azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
        azureResourceGroup: $(azureResourceGroup)
        kubernetesCluster: $(kubernetesCluster)
        command: apply
        arguments: -f mhc-aks.yaml
        secretType: dockerRegistry
        containerRegistryType: Azure Container Registry
        azureSubscriptionEndpointForSecrets: $(azureSubscriptionEndpoint)
        azureContainerRegistry: $(azureContainerRegistry)
        secretName: mysecretkey2
        forceUpdate: true

Segreti generici

Questo esempio YAML crea segreti generici dai valori letterali specificati per l'input secretArguments :

    - task: Kubernetes@1
      displayName: secretType generic with literal values
      inputs:
        azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
        azureResourceGroup: $(azureResourceGroup)
        kubernetesCluster: $(kubernetesCluster)
        command: apply
        arguments: -f mhc-aks.yaml
        secretType: generic
        secretArguments: --from-literal=contoso=5678
        secretName: mysecretkey

Le variabili della pipeline possono essere usate per passare argomenti per specificare i valori letterali, come illustrato di seguito:

    - task: Kubernetes@1
      displayName: secretType generic with pipeline variables
      inputs:
        azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
        azureResourceGroup: $(azureResourceGroup)
        kubernetesCluster: $(kubernetesCluster)
        command: apply
        arguments: -f mhc-aks.yaml
        secretType: generic
        secretArguments: --from-literal=contoso=$(contosovalue)
        secretName: mysecretkey

ConfigMap

ConfigMaps consente di separare gli artefatti di configurazione dal contenuto dell'immagine per mantenere la portabilità per le applicazioni in contenitori.

Questo esempio YAML crea un file ConfigMap puntando a un file ConfigMap:

    - task: Kubernetes@1
      displayName: kubectl apply
      inputs:
        configMapName: myconfig
        useConfigMapFile: true
        configMapFile: src/configmap

Questo esempio YAML crea un oggetto ConfigMap specificando i valori letterali direttamente come input configMapArguments e impostando forceUpdate su true:

    - task: Kubernetes@1
      displayName: configMap with literal values
      inputs:
        azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
        azureResourceGroup: $(azureResourceGroup)
        kubernetesCluster: $(kubernetesCluster)
        command: apply
        arguments: -f mhc-aks.yaml
        secretType: generic
        secretArguments: --from-literal=contoso=$(contosovalue)
        secretName: mysecretkey4
        configMapName: myconfig
        forceUpdateConfigMap: true
        configMapArguments: --from-literal=myname=contoso

È possibile usare le variabili della pipeline per passare valori letterali durante la creazione di ConfigMap, come illustrato di seguito:

    - task: Kubernetes@1
      displayName: configMap with pipeline variables
      inputs:
        azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
        azureResourceGroup: $(azureResourceGroup)
        kubernetesCluster: $(kubernetesCluster)
        command: apply
        arguments: -f mhc-aks.yaml
        secretType: generic
        secretArguments: --from-literal=contoso=$(contosovalue)
        secretName: mysecretkey4
        configMapName: myconfig
        forceUpdateConfigMap: true
        configMapArguments: --from-literal=myname=$(contosovalue)

Risoluzione dei problemi

Il cluster Kubernetes si trova dietro un firewall e si stanno usando gli agenti ospitati. Come si esegue la distribuzione in questo cluster?

È possibile concedere l'accesso agli agenti ospitati tramite il firewall, consentendo gli indirizzi IP per gli agenti ospitati. Per informazioni dettagliate, vedere Intervalli IP degli agenti

Requisiti

Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Esecuzione in Agente, DeploymentGroup
Richieste Nessuno
Capabilities Questa attività non soddisfa le richieste per le attività successive nel processo.
Restrizioni dei comandi Qualsiasi
Variabili impostabili Qualsiasi
Versione agente Tutte le versioni dell'agente supportate.
Categoria attività Distribuire