Partager via


Kubernetes@1 - Tâche Kubectl v1

Déployez, configurez, mettez à jour un cluster Kubernetes dans Azure Container Service en exécutant des commandes kubectl.

Déployez, configurez, mettez à jour votre cluster Kubernetes dans Azure Container Service en exécutant des commandes kubectl.

Syntaxe

# 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.

Entrées

connectionType - type de connexion de service
string. Obligatoire lorsque command != logout. Valeurs autorisées : Azure Resource Manager, Kubernetes Service Connection, None. Valeur par défaut : Kubernetes Service Connection.

Spécifie le type de connexion de service : Azure Resource Manager lors de l’utilisation d’Azure Kubernetes Service ou d’une connexion Kubernetes Service pour tout autre cluster.

  • Kubernetes Service Connection : vous permet de fournir un fichier KubeConfig, de spécifier un compte de service ou d’importer une instance AKS avec l’option abonnement Azure. L’importation d’une instance AKS avec l’option abonnement Azure nécessite l’accès au cluster Kubernetes au moment de la configuration de la connexion de service.
  • Azure Resource Manager : vous permet de sélectionner une instance AKS. N’accède pas au cluster Kubernetes au moment de la configuration de la connexion de service.
  • None : utilisez une configuration Kubernetes précréée stockée localement.

Pour plus d’informations, consultez de connexion de service dans la section remarques suivantes.


connectionType - type de connexion de service
string. Obligatoire lorsque command != logout. Valeurs autorisées : Azure Resource Manager, Kubernetes Service Connection, None. Valeur par défaut : Azure Resource Manager.

Spécifie le type de connexion de service : Azure Resource Manager lors de l’utilisation d’Azure Kubernetes Service ou d’une connexion Kubernetes Service pour tout autre cluster.


kubernetesServiceEndpoint - de connexion de service Kubernetes
string. Obligatoire lorsque connectionType = Kubernetes Service Connection && command != logout.

Sélectionnez une connexion de service Kubernetes.


azureSubscriptionEndpoint - abonnement Azure
string. Obligatoire lorsque connectionType = Azure Resource Manager && command != logout.

Spécifie l’abonnement Azure Resource Manager, qui contient Azure Container Registry.

Note

Pour configurer une nouvelle connexion de service, spécifiez l’abonnement Azure dans la liste, puis cliquez sur Authorize. Si votre abonnement n’est pas répertorié ou si vous souhaitez utiliser un principal de service existant, vous pouvez configurer une connexion de service Azure à l’aide des boutons Add ou Manage.


azureResourceGroup - groupe de ressources
string. Obligatoire lorsque connectionType = Azure Resource Manager && command != logout.

Sélectionnez un groupe de ressources Azure.


kubernetesCluster - de cluster Kubernetes
string. Obligatoire lorsque connectionType = Azure Resource Manager && command != logout.

Sélectionnez un cluster managé Azure.


useClusterAdmin - Utiliser les informations d’identification de l’administrateur de cluster
boolean. Optionnel. Utilisez quand connectionType = Azure Resource Manager && command != logout. Valeur par défaut : false.

Utilisez les informations d’identification de l’administrateur de cluster au lieu des informations d’identification utilisateur de cluster par défaut.


namespace - espace de noms
string. Optionnel. Utilisez quand command != logout.

Définissez l’espace de noms pour la commande kubectl à l’aide de l’indicateur –namespace. Si l’espace de noms n’est pas fourni, les commandes s’exécutent dans l’espace de noms par défaut.


command - commande
string. Valeurs autorisées : apply, create, delete, exec, expose, get, login, logout, logs, run, set, top.

Sélectionnez ou spécifiez une commande kubectl à exécuter. La liste des valeurs autorisées fournit des options courantes pour faciliter la sélection lors de l’utilisation de l’Assistant Tâche, mais vous pouvez spécifier d’autres commandes kubectl telles que scale. Utilisez l’entrée arguments pour spécifier des paramètres supplémentaires à la commande kubectl spécifiée.


command - commande
string. Obligatoire. Valeurs autorisées : apply, create, delete, exec, expose, get, login, logout, logs, run, set, top. Valeur par défaut : apply.

Sélectionnez ou spécifiez une commande kubectl à exécuter.


useConfigurationFile - Utiliser le de configuration
boolean. Optionnel. Utilisez quand command != login && command != logout. Valeur par défaut : false.

Spécifie la configuration Kubernetes à utiliser avec la commande kubectl. Le script inline, le nom de fichier, le répertoire ou l’URL des fichiers de configuration Kubernetes peuvent être fournis.


useConfigurationFile - Utiliser des fichiers de configuration
boolean. Optionnel. Utilisez quand command != login && command != logout. Valeur par défaut : false.

Spécifie la configuration Kubernetes à utiliser avec la commande kubectl. Le script inline, le nom de fichier, le répertoire ou l’URL des fichiers de configuration Kubernetes peuvent être fournis.


configurationType - type de configuration
string. Optionnel. Utilisez quand useConfigurationFile = true. Valeurs autorisées : configuration (chemin d’accès de fichier), inline (configuration inline). Valeur par défaut : configuration.

Spécifie le type de configuration Kubernetes pour la commande kubectl. Il peut s’agir d’un chemin d’accès de fichier ou d’un script inline.


configuration - chemin d’accès au fichier
string. Obligatoire lorsque configurationType = configuration.

Spécifie le nom de fichier, le répertoire ou l’URL des fichiers de configuration Kubernetes utilisés avec les commandes.


configuration - fichier de configuration
string. Obligatoire lorsque useConfigurationFile = true.

Spécifie le nom de fichier, le répertoire ou l’URL des fichiers de configuration Kubernetes utilisés avec les commandes.


inline - configuration inline
string. Obligatoire lorsque configurationType = inline.

Spécifie la configuration de déploiement inline pour la commande kubectl.


arguments - arguments
string. Optionnel. Utilisez quand command != login && command != logout.

Arguments de la commande kubectl spécifiée.


secretType - type de secret
string. Obligatoire lorsque command != login && command != logout. Valeurs autorisées : dockerRegistry, generic. Valeur par défaut : dockerRegistry.

Créez/mettez à jour une image générique ou docker imagepullsecret. Sélectionnez dockerRegistry pour créer/mettre à jour l’imagepullsecret du registre sélectionné. Une imagePullSecret est un moyen de transmettre un secret qui contient un mot de passe de registre de conteneurs à Kubelet afin qu’il puisse extraire une image privée pour le compte de votre pod.


secretArguments - arguments
string. Optionnel. Utilisez quand secretType = generic && command != login && command != logout.

Spécifie les clés et les valeurs littérales à insérer dans le secret. Par exemple, --from-literal=key1=value1ou --from-literal=key2="top secret".


containerRegistryType - type de Registre de conteneurs
string. Obligatoire lorsque secretType = dockerRegistry && command != login && command != logout. Valeurs autorisées : Azure Container Registry, Container Registry. Valeur par défaut : Azure Container Registry.

Sélectionnez un type de registre de conteneurs. La tâche peut utiliser les détails de l’abonnement Azure pour utiliser un registre de conteneurs Azure. D’autres registres de conteneurs standard sont également pris en charge.


dockerRegistryEndpoint - connexion au service de Registre Docker
string. Optionnel. Utilisez quand secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout.

Sélectionnez une connexion de service de Registre Docker. Obligatoire pour les commandes qui doivent s’authentifier auprès d’un registre.


azureSubscriptionEndpointForSecrets - abonnement Azure
string. Optionnel. Utilisez quand secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout.

Spécifie l’abonnement Azure Resource Manager, qui contient Azure Container Registry.

Note

Pour configurer une nouvelle connexion de service, sélectionnez l’abonnement Azure dans la liste, puis cliquez sur Authorize. Si votre abonnement n’est pas répertorié ou si vous souhaitez utiliser un principal de service existant, vous pouvez configurer une connexion de service Azure à l’aide des boutons Add ou Manage.


azureContainerRegistry - Azure Container Registry
string. Optionnel. Utilisez quand secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout.

Spécifie un Registre de conteneurs Azure utilisé pour l’extraction d’images conteneur et le déploiement d’applications sur le cluster Kubernetes. Obligatoire pour les commandes qui doivent s’authentifier auprès d’un registre.


nom de secret secretName -
string. Optionnel. Utilisez quand command != login && command != logout.

Nom du secret. Vous pouvez utiliser ce nom secret dans le fichier de configuration YAML Kubernetes.


forceUpdate - Forcer la mise à jour du secret
boolean. Optionnel. Utilisez quand command != login && command != logout. Valeur par défaut : true.

Supprimez le secret s’il existe et créez-en un avec des valeurs mises à jour.


configMapName - nom ConfigMap
string. Optionnel. Utilisez quand command != login && command != logout.

ConfigMaps vous permet de dissocier les artefacts de configuration du contenu de l’image pour maintenir les applications conteneurisées portables.


forceUpdateConfigMap - Forcer la mise à jour du configmap
boolean. Optionnel. Utilisez quand command != login && command != logout. Valeur par défaut : false.

Supprimez le configmap s’il existe et créez-en un avec des valeurs mises à jour.


useConfigMapFile - Utiliser le de fichier
boolean. Optionnel. Utilisez quand command != login && command != logout. Valeur par défaut : false.

Crée un ConfigMap à partir d’un fichier individuel ou de plusieurs fichiers en spécifiant un répertoire.


configMapFile - fichier ConfigMap
string. Obligatoire lorsque useConfigMapFile = true && command != login && command != logout.

Spécifiez un fichier ou un répertoire qui contient les configMaps.


configMapArguments - arguments
string. Optionnel. Utilisez quand useConfigMapFile = false && command != login && command != logout.

Spécifie les clés et les valeurs littérales à insérer dans configMap. Par exemple, --from-literal=key1=value1 ou --from-literal=key2="top secret".


versionOrLocation - kubectl
string. Valeurs autorisées : version, location (Spécifier l’emplacement). Valeur par défaut : version.

kubectl est une interface de ligne de commande permettant d’exécuter des commandes sur des clusters Kubernetes.


versionOrLocation - kubectl
string. Optionnel. Utilisez quand command != login && command != logout. Valeurs autorisées : version, location (Spécifier l’emplacement). Valeur par défaut : version.

kubectl est une interface de ligne de commande permettant d’exécuter des commandes sur des clusters Kubernetes.


versionSpec - spécification de version
string. Optionnel. Utilisez quand versionOrLocation = version. Valeur par défaut : 1.13.2.

Spécifie la spécification de version de la version à obtenir. Exemples : 1.7.0, 1.x.0, 4.x.0, 6.10.0, >=6.10.0.


versionSpec - spécification de version
string. Optionnel. Utilisez quand versionOrLocation = version && command != login && command != logout. Valeur par défaut : 1.7.0.

-18-2 Spécifie la spécification de version de la version à obtenir. Exemples : 1.7.0, 1.x.0, 4.x.0, 6.10.0, >=6.10.0.


checkLatest - Rechercher la dernière version
boolean. Optionnel. Utilisez quand versionOrLocation = version. Valeur par défaut : false.

Vérifie toujours en ligne la dernière version disponible (stable.txt) qui satisfait aux spécifications de la version. Cela est généralement faux, sauf si vous avez un scénario spécifique pour toujours obtenir la dernière version. Cela entraîne des coûts de téléchargement lorsqu’il n’est potentiellement pas nécessaire, en particulier avec le pool de builds hébergé.


checkLatest - Rechercher la dernière version
boolean. Optionnel. Utilisez quand versionOrLocation = version && command != login && command != logout. Valeur par défaut : false.

Vérifie toujours en ligne la dernière version disponible (stable.txt) qui satisfait aux spécifications de la version. Cela est généralement faux, sauf si vous avez un scénario spécifique pour toujours obtenir la dernière version. Cela entraîne des coûts de téléchargement lorsqu’il n’est potentiellement pas nécessaire, en particulier avec le pool de builds hébergé.


chemin d’accès specifyLocation - à kubectl
string. Obligatoire lorsque versionOrLocation = location.

Spécifie le chemin d’accès complet au fichier kubectl.exe.


chemin d’accès specifyLocation - à kubectl
string. Obligatoire lorsque versionOrLocation = location && command != login && command != logout.

Spécifie le chemin d’accès complet au fichier kubectl.exe.


workingDirectory - répertoire de travail
Alias d’entrée : cwd. string. Valeur par défaut : $(System.DefaultWorkingDirectory).

Répertoire de travail de la commande Kubectl.


workingDirectory - répertoire de travail
Alias d’entrée : cwd. string. Optionnel. Utilisez quand command != login && command != logout. Valeur par défaut : $(System.DefaultWorkingDirectory).

Répertoire de travail de la commande Kubectl.


format de sortie outputFormat -
string. Valeurs autorisées : json, yaml, none. Valeur par défaut : json.

Format de sortie. La liste des valeurs autorisées fournit des choix courants pour faciliter la sélection lors de l’utilisation de l’Assistant Tâche, mais vous pouvez spécifier d’autres options de sortie telles que jsonpath={.items[*].spec['initContainers', 'containers'][*].image}.


format de sortie outputFormat -
string. Valeurs autorisées : json, yaml. Valeur par défaut : json.

Format de sortie. La liste des valeurs autorisées fournit des choix courants pour faciliter la sélection lors de l’utilisation de l’Assistant Tâche, mais vous pouvez spécifier d’autres options de sortie telles que jsonpath={.items[*].spec['initContainers', 'containers'][*].image}.


format de sortie outputFormat -
string. Optionnel. Utilisez quand command != login && command != logout. Valeurs autorisées : json, yaml. Valeur par défaut : json.

Format de sortie. La liste des valeurs autorisées fournit des choix courants pour faciliter la sélection lors de l’utilisation de l’Assistant Tâche, mais vous pouvez spécifier d’autres options de sortie telles que jsonpath={.items[*].spec['initContainers', 'containers'][*].image}.


Options de contrôle de tâche

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâche. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Cette tâche définit les variables de sortie suivantes, que vous pouvez utiliser en aval, les travaux et les étapes.

KubectlOutput
Stocke la sortie de la commande kubectl.

Remarques

Nouveautés de la version 1.0.

  • Ajout d’une nouvelle entrée de type de connexion de service pour faciliter la sélection des clusters Azure AKS.
  • Remplacez l’entrée de variable de sortie par une section des variables de sortie que nous avons ajoutée dans toutes les tâches.

Utilisez cette tâche pour déployer, configurer ou mettre à jour un cluster Kubernetes en exécutant des commandes kubectl.

Connexion de service

La tâche fonctionne avec deux types de connexion de service : Azure Resource Manager et de connexion Kubernetes Service, décrit ci-dessous.

Azure Resource Manager

Définissez connectionType sur Azure Resource Manager et spécifiez une azureSubscriptionEndpoint pour utiliser une connexion de service Azure Resource Manager.

Cet exemple YAML montre comment Azure Resource Manager est utilisé pour faire référence au cluster Kubernetes. Cela doit être utilisé avec l’une des commandes kubectl et les valeurs appropriées requises par la commande.

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)

Connexion Kubernetes Service

Définissez connectionType sur Kubernetes Service Connection et spécifiez une kubernetesServiceEndpoint pour utiliser une connexion de service Kubernetes.

Cet exemple YAML montre comment une connexion Kubernetes Service est utilisée pour faire référence au cluster Kubernetes. Cela doit être utilisé avec l’une des commandes kubectl et les valeurs appropriées requises par la commande.

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

Considérations relatives à la connexion Kubernetes Service lors de l’accès à AKS

Vous pouvez créer une connexion de service Kubernetes avec l’une des options suivantes.

  • KubeConfig
  • Compte de service
  • Abonnement Azure

Capture d’écran du choix d’une méthode d’authentification de connexion de service Kubernetes.

Lorsque vous sélectionnez l’option abonnement Azure, Kubernetes doit être accessible à Azure DevOps au moment de la configuration de la connexion au service. Il peut y avoir différentes raisons pour lesquelles une connexion de service ne peut pas être créée, par exemple, vous créé un cluster privé ou le cluster a comptes locaux désactivés. Dans ce cas, Azure DevOps ne peut pas se connecter à votre cluster au moment de la configuration de la connexion de service et vous verrez un bloqué charger des espaces de noms écran.

Capture d’écran du choix d’une boîte de dialogue d’authentification de connexion de service Kubernetes bloquée lors du chargement des espaces de noms.

À compter de Kubernetes 1.24, les jetons de longue durée ne sont plus créés par défaut. Kubernetes recommande de ne pas utiliser de jetons de longue durée. Par conséquent, les tâches utilisant une connexion de service Kubernetes créée avec l’option abonnement Azure n’ont pas accès au jeton permanent requis pour s’authentifier et ne peuvent pas accéder à votre cluster Kubernetes. Cela entraîne également le gel boîte de dialogue Chargement des espaces de noms.

Utiliser la connexion de service Azure Resource Manager pour accéder à AKS

Pour les clients AKS, le type de connexion de service Azure Resource Manager fournit la meilleure méthode pour se connecter à un cluster privé ou un cluster dont les comptes locaux sont désactivés. Cette méthode ne dépend pas de la connectivité du cluster au moment où vous créez une connexion de service. L’accès à AKS est différé au runtime de pipeline, ce qui présente les avantages suivants :

  • L’accès à un cluster AKS (privé) peut être effectué à partir d’un agent auto-hébergé ou de groupe identique en ligne de vue sur le cluster.
  • Un jeton est créé pour chaque tâche qui utilise une connexion de service Azure Resource Manager. Cela garantit que vous vous connectez à Kubernetes avec un jeton de courte durée, qui est la recommandation Kubernetes.
  • AKS est accessible même lorsque les comptes locaux sont désactivés.

FAQ sur la connexion de service

Je reçois le message d’erreur suivant : Impossible de trouver un secret associé au compte de service. Que se passe-t-il?

Vous utilisez la connexion de service Kubernetes avec l’option Abonnement Azure. Nous mettons à jour cette méthode pour créer des jetons de longue durée. Cela devrait être disponible mi-mai. Toutefois, il est recommandé de commencer à utiliser le type de connexion de service Azure et de ne pas utiliser de jetons de longue durée conformément aux instructions de Kubernetes .

J’utilise AKS et ne souhaite rien changer, puis-je continuer à utiliser des tâches avec la connexion du service Kubernetes ?

Nous mettons à jour cette méthode pour créer des jetons de longue durée. Cela devrait être disponible mi-mai. Toutefois, sachez que cette approche est contre conseils Kubernetes.

J’utilise les tâches Kubernetes et la connexion de service Kubernetes, mais pas AKS. Dois-je m’inquiéter ?

Vous continuerez à travailler comme avant.

Le type de connexion du service Kubernetes sera-t-il supprimé ?

Nos tâches Kubernetes fonctionnent avec n’importe quel cluster Kubernetes, quel que soit leur emplacement d’exécution. La connexion du service Kubernetes continuera d’exister.

Je suis un client AKS et tout fonctionne correctement, dois-je agir ?

Il n’est pas nécessaire de changer quoi que ce soit. Si vous utilisez la connexion de service Kubernetes et que vous avez sélectionné l’abonnement Azure lors de la création, vous devez connaître les conseils Kubernetes sur l’utilisation de jetons de longue durée.

Je crée un environnement Kubernetes et n’ai pas la possibilité d’utiliser des connexions de service

Si vous ne pouvez pas accéder à votre AKS pendant la création de l’environnement, vous pouvez utiliser un environnement vide et définir l’entrée connectionType sur une connexion de service Azure Resource Manager.

J’ai configuré AKS avec Azure Active Directory RBAC et mon pipeline ne fonctionne pas. Ces mises à jour seront-elles résolues ?

L’accès à Kubernetes quand AAD RBAC est activé n’est pas lié à la création de jetons. Pour empêcher une invite interactive, nous allons prendre en charge kubelogin dans une prochaine mise à jour.

Commandes

L’entrée de commande accepte commandes kubectl.

Cet exemple YAML illustre la commande appliquer :

- 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

Cet exemple YAML illustre l’utilisation d’un fichier de configuration avec la appliquer commande :

- 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

Cet exemple YAML montre comment utiliser la commande mettre à l’échelle pour réduire le nombre de réplicas d’un déploiement à 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)

Secrets

Les objets Kubernetes de type secret sont destinés à contenir des informations sensibles telles que des mots de passe, des jetons OAuth et des clés SSH. La mise en place de ces informations dans un secret est plus sûre et plus flexible que de la placer détaillée dans une définition de pod ou dans une image Docker. Azure Pipelines simplifie l’ajout de ImagePullSecrets à un compte de service ou la configuration d’un secret générique, comme décrit ci-dessous.

ImagePullSecret

Cet exemple YAML illustre la configuration d’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

Secrets génériques

Cet exemple YAML crée des secrets génériques à partir de valeurs littérales spécifiées pour l’entrée 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

Les variables de pipeline peuvent être utilisées pour passer des arguments pour spécifier des valeurs littérales, comme illustré ici :

    - 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 vous permet de dissocier les artefacts de configuration du contenu d’image afin de maintenir la portabilité pour les applications conteneurisées.

Cet exemple YAML crée un ConfigMap en pointant vers un fichier ConfigMap :

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

Cet exemple YAML crée un ConfigMap en spécifiant les valeurs littérales directement en tant qu’entrée configMapArguments et en définissant forceUpdate sur 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

Vous pouvez utiliser des variables de pipeline pour passer des valeurs littérales lors de la création de ConfigMap, comme illustré ici :

    - 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)

Dépannage

Mon cluster Kubernetes se trouve derrière un pare-feu et j’utilise des agents hébergés. Comment puis-je déployer sur ce cluster ?

Vous pouvez accorder l’accès aux agents hébergés via votre pare-feu en autorisant les adresses IP des agents hébergés. Pour plus d’informations, consultez plages d’adresses IP de l’agent

Exigences

Exigence Description
Types de pipelines YAML, Build Classique, Version Classique
Exécutions sur Agent, DeploymentGroup
demandes Aucun
fonctionnalités de Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail.
restrictions de commande Quelconque
variables settables Quelconque
Version de l’agent Toutes les versions de l’agent prises en charge.
Catégorie de tâche Déployer