Kubernetes@1: tarea Kubectl v1
Implemente, configure y actualice un clúster de Kubernetes en Azure Container Service mediante la ejecución de comandos kubectl.
Implemente, configure y actualice el clúster de Kubernetes en Azure Container Service mediante la ejecución de comandos kubectl.
Sintaxis
# 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.
Entradas
connectionType
-
tipo de conexión servicio
string
. Obligatorio cuando command != logout
. Valores permitidos: Azure Resource Manager
, Kubernetes Service Connection
, None
. Valor predeterminado: Kubernetes Service Connection
.
Especifica el tipo de conexión de servicio: Azure Resource Manager al usar Azure Kubernetes Service o Conexión de Kubernetes Service para cualquier otro clúster.
-
Kubernetes Service Connection
: permite proporcionar un archivo KubeConfig, especificar una cuenta de servicio o importar una instancia de AKS con la opción suscripción de Azure. La importación de una instancia de AKS con la opción suscripción de Azure requiere acceso al clúster de Kubernetes en el momento de configuración de la conexión de servicio. -
Azure Resource Manager
: permite seleccionar una instancia de AKS. No tiene acceso al clúster de Kubernetes en el momento de configuración de la conexión de servicio. -
None
: use una configuración de Kubernetes creada previamente almacenada localmente.
Para obtener más información, consulte de conexión de servicio en la siguiente sección Comentarios.
connectionType
-
tipo de conexión servicio
string
. Obligatorio cuando command != logout
. Valores permitidos: Azure Resource Manager
, Kubernetes Service Connection
, None
. Valor predeterminado: Azure Resource Manager
.
Especifica el tipo de conexión de servicio: Azure Resource Manager al usar Azure Kubernetes Service o Conexión de Kubernetes Service para cualquier otro clúster.
de conexión de servicio de Kubernetes kubernetesServiceEndpoint
-
string
. Obligatorio cuando connectionType = Kubernetes Service Connection && command != logout
.
Seleccione una conexión de servicio de Kubernetes.
azureSubscriptionEndpoint
-
de suscripción de Azure
string
. Obligatorio cuando connectionType = Azure Resource Manager && command != logout
.
Especifica la suscripción de Azure Resource Manager, que contiene Azure Container Registry.
Nota
Para configurar una nueva conexión de servicio, especifique la suscripción de Azure de la lista y haga clic en Authorize
. Si la suscripción no aparece o si desea usar una entidad de servicio existente, puede configurar una conexión de servicio de Azure mediante los botones Add
o Manage
.
del grupo de recursos de azureResourceGroup
-
string
. Obligatorio cuando connectionType = Azure Resource Manager && command != logout
.
Seleccione un grupo de recursos de Azure.
kubernetesCluster
-
del clúster de Kubernetes
string
. Obligatorio cuando connectionType = Azure Resource Manager && command != logout
.
Seleccione un clúster administrado de Azure.
useClusterAdmin
-
Uso de credenciales de administrador de clústeres
boolean
. Opcional. Use cuando connectionType = Azure Resource Manager && command != logout
. Valor predeterminado: false
.
Use credenciales de administrador de clúster en lugar de credenciales de usuario de clúster predeterminadas.
namespace
-
espacio de nombres
string
. Opcional. Use cuando command != logout
.
Establezca el espacio de nombres para el comando kubectl mediante la marca –namespace. Si no se proporciona el espacio de nombres, los comandos se ejecutarán en el espacio de nombres predeterminado.
command
-
comando
string
. Valores permitidos: apply
, create
, delete
, exec
, expose
, get
, login
, logout
, logs
, run
, set
, top
.
Seleccione o especifique un comando kubectl que se va a ejecutar. La lista de valores permitidos proporciona algunas opciones comunes para facilitar la selección al usar el asistente de tareas, pero puede especificar otros comandos kubectl como scale
. Use la entrada arguments
para especificar parámetros adicionales en el comando kubectl
especificado.
command
-
comando
string
. Obligatorio. Valores permitidos: apply
, create
, delete
, exec
, expose
, get
, login
, logout
, logs
, run
, set
, top
. Valor predeterminado: apply
.
Seleccione o especifique un comando kubectl que se va a ejecutar.
useConfigurationFile
-
Usar de configuración
boolean
. Opcional. Use cuando command != login && command != logout
. Valor predeterminado: false
.
Especifica la configuración de Kubernetes que se va a usar con el comando kubectl
. Se puede proporcionar el script insertado, el nombre de archivo, el directorio o la dirección URL a los archivos de configuración de Kubernetes.
useConfigurationFile
-
Usar archivos de configuración
boolean
. Opcional. Use cuando command != login && command != logout
. Valor predeterminado: false
.
Especifica la configuración de Kubernetes que se va a usar con el comando kubectl
. Se puede proporcionar el script insertado, el nombre de archivo, el directorio o la dirección URL a los archivos de configuración de Kubernetes.
tipo de configuración de configurationType
-
string
. Opcional. Use cuando useConfigurationFile = true
. Valores permitidos: configuration
(ruta de acceso del archivo), inline
(configuración insertada). Valor predeterminado: configuration
.
Especifica el tipo de configuración de Kubernetes para el comando kubectl
. Puede ser una ruta de acceso de archivo o un script insertado.
configuration
-
ruta de acceso del archivo
string
. Obligatorio cuando configurationType = configuration
.
Especifica el nombre de archivo, el directorio o la dirección URL de los archivos de configuración de Kubernetes que se usan con los comandos .
del archivo de configuración de configuration
-
string
. Obligatorio cuando useConfigurationFile = true
.
Especifica el nombre de archivo, el directorio o la dirección URL de los archivos de configuración de Kubernetes que se usan con los comandos .
inline
-
de configuración insertada
string
. Obligatorio cuando configurationType = inline
.
Especifica la configuración de implementación insertada para el comando kubectl
.
argumentos de arguments
-
string
. Opcional. Use cuando command != login && command != logout
.
Argumentos para el comando kubectl especificado.
secretType
-
tipo de secreto
string
. Obligatorio cuando command != login && command != logout
. Valores permitidos: dockerRegistry
, generic
. Valor predeterminado: dockerRegistry
.
Cree o actualice una imagen genérica o docker imagepullsecret. Seleccione dockerRegistry para crear o actualizar imagepullsecret del registro seleccionado. ImagePullSecret es una manera de pasar un secreto que contiene una contraseña del registro de contenedor a Kubelet para que pueda extraer una imagen privada en nombre del pod.
argumentos de secretArguments
-
string
. Opcional. Use cuando secretType = generic && command != login && command != logout
.
Especifica las claves y los valores literales que se van a insertar en el secreto. Por ejemplo, --from-literal=key1=value1
o --from-literal=key2="top secret"
.
tipo de registro de contenedor de containerRegistryType
-
string
. Obligatorio cuando secretType = dockerRegistry && command != login && command != logout
. Valores permitidos: Azure Container Registry
, Container Registry
. Valor predeterminado: Azure Container Registry
.
Seleccione un tipo de Registro de contenedor. La tarea puede usar los detalles de la suscripción de Azure para trabajar con una instancia de Azure Container Registry. También se admiten otros registros de contenedor estándar.
dockerRegistryEndpoint
-
conexión del servicio del registro de Docker
string
. Opcional. Use cuando secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout
.
Seleccione una conexión de servicio del registro de Docker. Necesario para los comandos que necesitan autenticarse con un registro.
azureSubscriptionEndpointForSecrets
-
de suscripción de Azure
string
. Opcional. Use cuando secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout
.
Especifica la suscripción de Azure Resource Manager, que contiene Azure Container Registry.
Nota
Para configurar una nueva conexión de servicio, seleccione la suscripción de Azure de la lista y haga clic en Authorize
. Si la suscripción no aparece o si desea usar una entidad de servicio existente, puede configurar una conexión de servicio de Azure mediante los botones Add
o Manage
.
azureContainerRegistry
-
de Azure Container Registry
string
. Opcional. Use cuando secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout
.
Especifica una instancia de Azure Container Registry que se usa para extraer imágenes de contenedor e implementar aplicaciones en el clúster de Kubernetes. Necesario para los comandos que necesitan autenticarse con un registro.
secretName
-
nombre del secreto
string
. Opcional. Use cuando command != login && command != logout
.
Nombre del secreto. Puede usar este nombre secreto en el archivo de configuración de YAML de Kubernetes.
forceUpdate
-
forzar la actualización del secreto
boolean
. Opcional. Use cuando command != login && command != logout
. Valor predeterminado: true
.
Elimine el secreto si existe y cree uno nuevo con valores actualizados.
configMapName
-
nombre configMap
string
. Opcional. Use cuando command != login && command != logout
.
ConfigMaps le permite desacoplar los artefactos de configuración del contenido de la imagen para mantener las aplicaciones en contenedores portátiles.
forceUpdateConfigMap
-
Forzar actualización de configmap
boolean
. Opcional. Use cuando command != login && command != logout
. Valor predeterminado: false
.
Elimine el mapa de configuración si existe y cree uno nuevo con valores actualizados.
useConfigMapFile
-
Usar de archivos
boolean
. Opcional. Use cuando command != login && command != logout
. Valor predeterminado: false
.
Crea un ConfigMap
a partir de un archivo individual o de varios archivos especificando un directorio.
del archivo ConfigMap de configMapFile
-
string
. Obligatorio cuando useConfigMapFile = true && command != login && command != logout
.
Especifique un archivo o directorio que contenga los configMaps.
argumentos de configMapArguments
-
string
. Opcional. Use cuando useConfigMapFile = false && command != login && command != logout
.
Especifica las claves y los valores literales que se van a insertar en configMap
. Por ejemplo, --from-literal=key1=value1
o --from-literal=key2="top secret"
.
versionOrLocation
-
kubectl
string
. Valores permitidos: version
, location
(Especificar ubicación). Valor predeterminado: version
.
kubectl es una interfaz de línea de comandos para ejecutar comandos en clústeres de Kubernetes.
versionOrLocation
-
kubectl
string
. Opcional. Use cuando command != login && command != logout
. Valores permitidos: version
, location
(Especificar ubicación). Valor predeterminado: version
.
kubectl es una interfaz de línea de comandos para ejecutar comandos en clústeres de Kubernetes.
versionSpec
-
especificación de versión
string
. Opcional. Use cuando versionOrLocation = version
. Valor predeterminado: 1.13.2
.
Especifica la especificación de versión de la versión que se va a obtener. Ejemplos: 1.7.0
, 1.x.0
, 4.x.0
, 6.10.0
, >=6.10.0
.
versionSpec
-
especificación de versión
string
. Opcional. Use cuando versionOrLocation = version && command != login && command != logout
. Valor predeterminado: 1.7.0
.
-18-2 Especifica la especificación de versión de la versión que se va a obtener. Ejemplos: 1.7.0
, 1.x.0
, 4.x.0
, 6.10.0
, >=6.10.0
.
checkLatest
-
Comprobación de la versión más reciente
boolean
. Opcional. Use cuando versionOrLocation = version
. Valor predeterminado: false
.
Comprueba siempre en línea la versión más reciente disponible (stable.txt) que satisface la especificación de versión. Esto suele ser false a menos que tenga un escenario específico para obtener siempre la versión más reciente. Esto hará que se produzcan costos de descarga cuando no sea necesario, especialmente con el grupo de compilación hospedado.
checkLatest
-
Comprobación de la versión más reciente
boolean
. Opcional. Use cuando versionOrLocation = version && command != login && command != logout
. Valor predeterminado: false
.
Comprueba siempre en línea la versión más reciente disponible (stable.txt) que satisface la especificación de versión. Esto suele ser false a menos que tenga un escenario específico para obtener siempre la versión más reciente. Esto hará que se produzcan costos de descarga cuando no sea necesario, especialmente con el grupo de compilación hospedado.
ruta de acceso de specifyLocation
- a kubectl
string
. Obligatorio cuando versionOrLocation = location
.
Especifica la ruta de acceso completa al archivo kubectl.exe
.
ruta de acceso de specifyLocation
- a kubectl
string
. Obligatorio cuando versionOrLocation = location && command != login && command != logout
.
Especifica la ruta de acceso completa al archivo kubectl.exe
.
de directorio de trabajo de workingDirectory
-
Alias de entrada: cwd
.
string
. Valor predeterminado: $(System.DefaultWorkingDirectory)
.
Directorio de trabajo para el comando Kubectl.
de directorio de trabajo de workingDirectory
-
Alias de entrada: cwd
.
string
. Opcional. Use cuando command != login && command != logout
. Valor predeterminado: $(System.DefaultWorkingDirectory)
.
Directorio de trabajo para el comando Kubectl.
outputFormat
-
de formato de salida
string
. Valores permitidos: json
, yaml
, none
. Valor predeterminado: json
.
Formato de salida. La lista de valores permitidos proporciona algunas opciones comunes para facilitar la selección al usar el asistente de tareas, pero puede especificar otras opciones de salida de como jsonpath={.items[*].spec['initContainers', 'containers'][*].image}
.
outputFormat
-
de formato de salida
string
. Valores permitidos: json
, yaml
. Valor predeterminado: json
.
Formato de salida. La lista de valores permitidos proporciona algunas opciones comunes para facilitar la selección al usar el asistente de tareas, pero puede especificar otras opciones de salida de como jsonpath={.items[*].spec['initContainers', 'containers'][*].image}
.
outputFormat
-
de formato de salida
string
. Opcional. Use cuando command != login && command != logout
. Valores permitidos: json
, yaml
. Valor predeterminado: json
.
Formato de salida. La lista de valores permitidos proporciona algunas opciones comunes para facilitar la selección al usar el asistente de tareas, pero puede especificar otras opciones de salida de como jsonpath={.items[*].spec['initContainers', 'containers'][*].image}
.
Opciones de control de tareas
Todas las tareas tienen opciones de control además de sus entradas de tarea. Para obtener más información, consulte Opciones de control y propiedades de tareas comunes.
Variables de salida
Esta tarea define las siguientes variables de salida , que puede consumir en pasos, trabajos y fases de bajada.
KubectlOutput
Almacena la salida del comando kubectl
.
Observaciones
Novedades de la versión 1.0.
- Se ha agregado una nueva entrada de tipo de conexión de servicio para una selección sencilla de clústeres de Azure AKS.
- Se ha reemplazado la entrada de la variable de salida por una sección de variables de salida que se han agregado en todas las tareas.
Use esta tarea para implementar, configurar o actualizar un clúster de Kubernetes mediante la ejecución de comandos kubectl.
Conexión de servicio
La tarea funciona con dos tipos de conexión de servicio: de Azure Resource Manager y conexión de Kubernetes Service, que se describe a continuación.
Azure Resource Manager
Establezca connectionType
en Azure Resource Manager
y especifique un azureSubscriptionEndpoint
para usar una conexión de servicio de Azure Resource Manager.
En este ejemplo de YAML se muestra cómo se usa Azure Resource Manager para hacer referencia al clúster de Kubernetes. Esto se usará con uno de los comandos kubectl y los valores adecuados requeridos por el 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)
Conexión de Kubernetes Service
Establezca connectionType
en Kubernetes Service Connection
y especifique un kubernetesServiceEndpoint
para usar una conexión de servicio de Kubernetes.
En este ejemplo de YAML se muestra cómo se usa una conexión de Kubernetes Service para hacer referencia al clúster de Kubernetes. Esto se usará con uno de los comandos kubectl y los valores adecuados requeridos por el comando.
- task: Kubernetes@1
displayName: kubectl apply
inputs:
connectionType: Kubernetes Service Connection
kubernetesServiceEndpoint: Contoso
Consideraciones sobre la conexión de Kubernetes Service al acceder a AKS
Puede crear una conexión de servicio de Kubernetes con cualquiera de las opciones siguientes.
- KubeConfig
- Cuenta de servicio
- Suscripción de Azure
Al seleccionar la opción suscripción de Azure, Kubernetes debe ser accesible para Azure DevOps en el momento de la configuración de la conexión del servicio. Puede haber varias razones por las que no se puede crear una conexión de servicio; por ejemplo, crea un clúster privado o el clúster tiene cuentas locales deshabilitadas. En estos casos, Azure DevOps no se puede conectar al clúster en el momento de la configuración de la conexión de servicio y verá una pantalla de Carga de espacios de nombres.
A partir de Kubernetes 1.24, los tokens de larga duración ya no se crean de forma predeterminada. Kubernetes recomienda no usar tokens de larga duración. Como resultado, las tareas que usan una conexión de servicio de Kubernetes creada con la opción suscripción de Azure no tienen acceso al token permanente necesario para autenticarse y no pueden acceder al clúster de Kubernetes. Esto también da como resultado el cuadro de diálogo inmovilizado Carga de espacios de nombres.
Uso de la conexión de servicio de Azure Resource Manager para acceder a AKS
Para los clientes de AKS, el tipo de conexión de servicio de Azure Resource Manager proporciona el mejor método para conectarse a un clúster privado o un clúster que tenga deshabilitadas las cuentas locales. Este método no depende de la conectividad del clúster en el momento de crear una conexión de servicio. El acceso a AKS se aplaza al entorno de ejecución de canalización, que tiene las siguientes ventajas:
- El acceso a un clúster de AKS (privado) se puede realizar desde un agente de conjunto de escalado o autohospedado con línea de visión al clúster.
- Se crea un token para cada tarea que usa una conexión de servicio de Azure Resource Manager. Esto garantiza que se conecta a Kubernetes con un token de corta duración, que es la recomendación de Kubernetes.
- Se puede acceder a AKS incluso cuando se deshabilitan las cuentas locales.
Preguntas más frecuentes sobre la conexión de servicio
Recibo el siguiente mensaje de error: No se encontró ningún secreto asociado a la cuenta de servicio. ¿Qué pasa?
Está usando la conexión del servicio Kubernetes con la opción Suscripción de Azure. Estamos actualizando este método para crear tokens de larga duración. Se espera que esté disponible a mediados de mayo. Sin embargo, se recomienda empezar a usar el tipo de conexión de servicio de Azure y no usar tokens de larga duración según guía de Kubernetes.
Uso AKS y no quiero cambiar nada, ¿puedo seguir usando tareas con la conexión del servicio Kubernetes?
Estamos actualizando este método para crear tokens de larga duración. Se espera que esté disponible a mediados de mayo. Sin embargo, tenga en cuenta que este enfoque está en contra de guía de Kubernetes.
Uso las tareas de Kubernetes y la conexión del servicio Kubernetes, pero no AKS. ¿Debería preocuparme?
Las tareas seguirán funcionando como antes.
¿Se quitará el tipo de conexión del servicio Kubernetes?
Nuestras tareas de Kubernetes funcionan con cualquier clúster de Kubernetes, independientemente de dónde se ejecuten. La conexión del servicio Kubernetes seguirá existiendo.
Soy un cliente de AKS y todo funciona bien, ¿debo actuar?
No es necesario cambiar nada. Si usa la conexión del servicio Kubernetes y la suscripción de Azure seleccionada durante la creación, debe tener en cuenta las instrucciones de Kubernetes sobre el uso de tokens de larga duración.
Estoy creando un entorno de Kubernetes y no tengo ninguna opción para usar conexiones de servicio.
En caso de que no pueda acceder a AKS durante el tiempo de creación del entorno, puede usar un entorno vacío y establecer la entrada connectionType
en una conexión de servicio de Azure Resource Manager.
Tengo AKS configurado con RBAC de Azure Active Directory y mi canalización no funciona. ¿Resolverán estas actualizaciones?
El acceso a Kubernetes cuando AAD RBAC está habilitado no está relacionado con la creación de tokens. Para evitar un aviso interactivo, se admitirá kubelogin en una actualización futura.
Comandos
La entrada del comando acepta comandos kubectl.
En este ejemplo de YAML se muestra el comando aplicar:
- 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
En este ejemplo de YAML se muestra el uso de un archivo de configuración con el comando aplicar:
- 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
En este ejemplo de YAML se muestra el uso de cómo usar el comando escalar para reducir el número de réplicas de una implementación 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)
Secretos
Los objetos de Kubernetes de tipo secreto están diseñados para contener información confidencial, como contraseñas, tokens de OAuth y claves ssh. Colocar esta información en un secreto es más segura y flexible que colocarla textualmente en una definición de pod o en una imagen de Docker. Azure Pipelines simplifica la adición de ImagePullSecrets
a una cuenta de servicio o la configuración de cualquier secreto genérico, como se describe a continuación.
ImagePullSecret
En este ejemplo de YAML se muestra la configuración de 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
Secretos genéricos
En este ejemplo de YAML se crean secretos genéricos a partir de valores literales especificados para la entrada 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
Las variables de canalización se pueden usar para pasar argumentos para especificar valores literales, como se muestra aquí:
- 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 permite desacoplar los artefactos de configuración del contenido de la imagen para mantener la portabilidad de las aplicaciones en contenedor.
En este ejemplo de YAML se crea un objeto ConfigMap apuntando a un archivo ConfigMap:
- task: Kubernetes@1
displayName: kubectl apply
inputs:
configMapName: myconfig
useConfigMapFile: true
configMapFile: src/configmap
En este ejemplo de YAML se crea un objeto ConfigMap especificando los valores literales directamente como la entrada configMapArguments y estableciendo forceUpdate en 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
Puede usar variables de canalización para pasar valores literales al crear ConfigMap, como se muestra aquí:
- 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)
Solución de problemas
Mi clúster de Kubernetes está detrás de un firewall y estoy usando agentes hospedados. ¿Cómo puedo implementar en este clúster?
Puede conceder acceso a los agentes hospedados a través del firewall al permitir las direcciones IP de los agentes hospedados. Para obtener más información, consulte intervalos IP del Agente
Requisitos
Requisito | Descripción |
---|---|
Tipos de canalización | YAML, compilación clásica, versión clásica |
Se ejecuta en | Agente, DeploymentGroup |
demandas | Ninguno |
funcionalidades de | Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo. |
restricciones de comandos | Cualquier |
variables settable | Cualquier |
Versión del agente | Todas las versiones de agente admitidas. |
Categoría de tarea | Desplegar |