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.

Ingressi

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 il servizio Azure Kubernetes o la connessione al servizio Kubernetes per qualsiasi altro cluster.

  • Kubernetes Service Connection: consente di fornire 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 al momento della configurazione della connessione del 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 il servizio Azure Kubernetes o la 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 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 pulsanti Add 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. Opzionale. 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 - spazio dei nomi
string. Opzionale. 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, delete, exec, expose, get, login, logout, logs, run, set, top.

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


command - comando
string. Obbligatorio. Valori consentiti: apply, create, delete, exec, expose, get, login, logout, logs, run, set, top. Valore predefinito: apply.

Selezionare o specificare un comando kubectl da eseguire.


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

Specifica la configurazione di Kubernetes da usare con il comando kubectl. È 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. Opzionale. Usare quando command != login && command != logout. Valore predefinito: false.

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


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

Specifica il tipo di configurazione di Kubernetes per il comando kubectl. Può trattarsi di un percorso di file o di 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 comando kubectl.


arguments - argomenti
string. Opzionale. 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 che contiene 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. Opzionale. 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 al servizio del Registro di sistema Docker
string. Opzionale. Usare quando secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout.

Selezionare una connessione al servizio registro Docker. Obbligatorio per i comandi che devono eseguire l'autenticazione con un registro.


azureSubscriptionEndpointForSecrets - sottoscrizione di Azure
string. Opzionale. 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 nell'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 pulsanti Add o Manage.


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

Specifica un Registro Azure Container usato 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.


secretName - nome segreto
string. Opzionale. Usare quando command != login && command != logout.

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


forceUpdate - Forza aggiornamento segreto
boolean. Opzionale. Usare quando command != login && command != logout. Valore predefinito: true.

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


configMapName - nome ConfigMap
string. Opzionale. Usare quando command != login && command != logout.

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


forceUpdateConfigMap - Forza aggiornamento configmap
boolean. Opzionale. Usare quando command != login && command != logout. Valore predefinito: false.

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


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

Crea un ConfigMap 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 contenente configMaps.


configMapArguments - argomenti
string. Opzionale. Usare quando useConfigMapFile = false && command != login && command != logout.

Specifica le chiavi e i valori letterali 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. Opzionale. 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 della versione
string. Opzionale. Usare quando versionOrLocation = version. Valore predefinito: 1.13.2.

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


versionSpec - specifica della versione
string. Opzionale. Usare quando versionOrLocation = version && command != login && command != logout. Valore predefinito: 1.7.0.

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


checkLatest - Verificare la disponibilità dell'ultima versione
boolean. Opzionale. Usare quando versionOrLocation = version. Valore predefinito: false.

Controlla sempre online la versione disponibile più recente (stable.txt) che soddisfa la specifica di versione. Questo è in genere false a meno che non si abbia uno scenario specifico per ottenere sempre la versione più recente. Ciò causerà l'addebito di costi di download quando potenzialmente non è necessario, in particolare con il pool di compilazioni ospitato.


checkLatest - Verificare la disponibilità dell'ultima versione
boolean. Opzionale. Usare quando versionOrLocation = version && command != login && command != logout. Valore predefinito: false.

Controlla sempre online la versione disponibile più recente (stable.txt) che soddisfa la specifica di versione. Questo è in genere false a meno che non si abbia uno scenario specifico per ottenere sempre la versione più recente. Ciò causerà l'addebito di costi di download quando potenzialmente non è necessario, in particolare con il pool di compilazioni ospitato.


specifyLocation - Path to kubectl
string. Obbligatorio quando versionOrLocation = location.

Specifica il percorso completo del file kubectl.exe.


specifyLocation - Path to kubectl
string. Obbligatorio quando versionOrLocation = location && command != login && command != logout.

Specifica il percorso completo del file kubectl.exe.


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. Opzionale. 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. L'elenco dei valori consentiti offre alcune scelte comuni per semplificare la selezione quando si usa l'assistente attività, ma è possibile specificare altre opzioni di output , ad esempio jsonpath={.items[*].spec['initContainers', 'containers'][*].image}.


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

Formato di output. L'elenco dei valori consentiti offre alcune scelte comuni per semplificare la selezione quando si usa l'assistente attività, ma è possibile specificare altre opzioni di output , ad esempio jsonpath={.items[*].spec['initContainers', 'containers'][*].image}.


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

Formato di output. L'elenco dei valori consentiti offre alcune scelte comuni per semplificare la selezione quando si usa l'assistente attività, ma è possibile specificare altre opzioni di output , ad esempio jsonpath={.items[*].spec['initContainers', 'containers'][*].image}.


Opzioni di controllo attività

Tutte le attività hanno opzioni di controllo oltre ai relativi input di 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 utilizzare nei passaggi downstream, nei processi e nelle fasi.

KubectlOutput
Archivia l'output del comando kubectl.

Osservazioni

Novità della versione 1.0.

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

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

Connessione al servizio

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

Azure Resource Manager

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

Questo esempio YAML illustra come viene usato Azure Resource Manager per fare riferimento al cluster Kubernetes. Deve essere usato 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 per usare una connessione al servizio Kubernetes.

Questo esempio YAML mostra come viene usata una connessione al servizio Kubernetes per fare riferimento al cluster Kubernetes. Deve essere usato 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 creato un cluster privato o che il cluster abbia account locali disabilitati. In questi casi, Azure DevOps non riesce a connettersi al cluster in fase di configurazione della connessione al servizio e viene visualizzato un blocco schermata Caricamento di 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. In questo modo viene visualizzata anche la finestra di dialogo caricamento degli spazi dei nomi bloccata.

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 Azure Resource Manager 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 visibilità al cluster.
  • Viene creato un token per ogni attività che usa una connessione al servizio Azure Resource Manager. In questo modo si 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 l'opzione Connessione al servizio Kubernetes con sottoscrizione di Azure. Questo metodo viene aggiornato per creare token di lunga durata. Questo 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. Questo dovrebbe essere disponibile a metà maggio. Tuttavia, tenere presente che questo approccio è basato su linee guida 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 sono in esecuzione. La connessione al servizio Kubernetes continuerà a esistere.

Sono un cliente del servizio Azure Kubernetes e tutto funziona correttamente, devo 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

Se non è possibile accedere al servizio Azure Kubernetes durante la creazione dell'ambiente, è possibile usare un ambiente vuoto e impostare l'input connectionType su una connessione al servizio Azure Resource Manager.

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 è abilitato 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

In questo esempio YAML viene illustrato 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 di tipo segreto sono progettati per 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 di pod o in un'immagine Docker. Azure Pipelines semplifica l'aggiunta di ImagePullSecrets a un account del servizio o la configurazione di 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 da valori letterali specificati per il secretArguments input:

    - 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 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 oggetto 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 configMapArgu ments 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 usano agenti ospitati. Come è possibile eseguire la distribuzione in questo cluster?

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

Fabbisogno

Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Viene eseguito in Agente, DeploymentGroup
richieste Nessuno
funzionalità di Questa attività non soddisfa alcuna richiesta di attività successive nel processo.
restrizioni dei comandi Qualunque
variabili impostabili Qualunque
Versione dell'agente Tutte le versioni dell'agente supportate.
Categoria attività Schierare