Kubernetes@1 — задача Kubectl версии 1
Развертывание, настройка, обновление кластера Kubernetes в службе контейнеров Azure путем выполнения команд kubectl.
Разверните, настройте, обновите кластер Kubernetes в службе контейнеров Azure, выполнив команды kubectl.
Синтаксис
# 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.
Входы
connectionType
-
тип подключения службы
string
. Требуется, если command != logout
. Допустимые значения: Azure Resource Manager
, Kubernetes Service Connection
, None
. Значение по умолчанию: Kubernetes Service Connection
.
Указывает тип подключения службы: Azure Resource Manager при использовании службы Azure Kubernetes или подключения службы Kubernetes для любого другого кластера.
-
Kubernetes Service Connection
. Позволяет предоставить файл KubeConfig, указать учетную запись службы или импортировать экземпляр AKS с параметром подписки Azure. При импорте экземпляра AKS с параметром подписки Azure требуется доступ к кластеру Kubernetes во время настройки подключения службы. -
Azure Resource Manager
. Позволяет выбрать экземпляр AKS. Не обращается к кластеру Kubernetes во время настройки подключения службы. -
None
. Используйте предварительно созданную конфигурацию Kubernetes, хранящуюся локально.
Дополнительные сведения см. в подключения к службе в следующем разделе примечания.
connectionType
-
тип подключения службы
string
. Требуется, если command != logout
. Допустимые значения: Azure Resource Manager
, Kubernetes Service Connection
, None
. Значение по умолчанию: Azure Resource Manager
.
Указывает тип подключения службы: Azure Resource Manager при использовании службы Azure Kubernetes или подключения службы Kubernetes для любого другого кластера.
подключения к службе Kubernetes kubernetesServiceEndpoint
-
string
. Требуется, если connectionType = Kubernetes Service Connection && command != logout
.
Выберите подключение службы Kubernetes.
azureSubscriptionEndpoint
-
подписке Azure
string
. Требуется, если connectionType = Azure Resource Manager && command != logout
.
Указывает подписку Azure Resource Manager, содержащую реестр контейнеров Azure.
Заметка
Чтобы настроить новое подключение к службе, укажите подписку Azure из списка и щелкните Authorize
. Если подписка не указана или вы хотите использовать существующий субъект-службу, можно настроить подключение службы Azure с помощью кнопок Add
или Manage
.
группы ресурсов azureResourceGroup
-
string
. Требуется, если connectionType = Azure Resource Manager && command != logout
.
Выберите группу ресурсов Azure.
kubernetesCluster
-
кластере Kubernetes
string
. Требуется, если connectionType = Azure Resource Manager && command != logout
.
Выберите управляемый кластер Azure.
useClusterAdmin
-
Использование учетных данных администратора кластера
boolean
. Необязательный. Используется при connectionType = Azure Resource Manager && command != logout
. Значение по умолчанию: false
.
Используйте учетные данные администратора кластера вместо учетных данных пользователя кластера по умолчанию.
namespace
-
пространства имен
string
. Необязательный. Используется при command != logout
.
Задайте пространство имен для команды kubectl с помощью флага пространства имен .. Если пространство имен не указано, команды будут выполняться в пространстве имен по умолчанию.
Команда command
-
string
. Допустимые значения: apply
, create
, delete
, exec
, expose
, get
, login
, logout
, logs
, run
, set
, top
.
Выберите или укажите команду kubectl для выполнения. Список разрешенных значений предоставляет некоторые распространенные варианты выбора при использовании помощника по задачам, но можно указать другие команды kubectl , например scale
. Используйте входные данные arguments
, чтобы указать дополнительные параметры для указанной команды kubectl
.
Команда command
-
string
. Обязательно. Допустимые значения: apply
, create
, delete
, exec
, expose
, get
, login
, logout
, logs
, run
, set
, top
. Значение по умолчанию: apply
.
Выберите или укажите команду kubectl для выполнения.
useConfigurationFile
-
Использование конфигурации
boolean
. Необязательный. Используется при command != login && command != logout
. Значение по умолчанию: false
.
Указывает конфигурацию Kubernetes, используемую с командой kubectl
. Можно указать встроенный скрипт, имя файла, каталог или URL-адрес файлов конфигурации Kubernetes.
useConfigurationFile
-
Использовать файлы конфигурации
boolean
. Необязательный. Используется при command != login && command != logout
. Значение по умолчанию: false
.
Указывает конфигурацию Kubernetes, используемую с командой kubectl
. Можно указать встроенный скрипт, имя файла, каталог или URL-адрес файлов конфигурации Kubernetes.
типа конфигурации configurationType
-
string
. Необязательный. Используется при useConfigurationFile = true
. Допустимые значения: configuration
(путь к файлу), inline
(встроенная конфигурация). Значение по умолчанию: configuration
.
Указывает тип конфигурации Kubernetes для команды kubectl
. Это может быть путь к файлу или встроенный скрипт.
configuration
-
пути к файлу
string
. Требуется, если configurationType = configuration
.
Указывает имя файла, каталог или URL-адрес для файлов конфигурации Kubernetes, используемых с командами.
файла конфигурации configuration
-
string
. Требуется, если useConfigurationFile = true
.
Указывает имя файла, каталог или URL-адрес для файлов конфигурации Kubernetes, используемых с командами.
inline
-
встроенной конфигурации
string
. Требуется, если configurationType = inline
.
Указывает встроенную конфигурацию развертывания для команды kubectl
.
arguments
-
аргументы
string
. Необязательный. Используется при command != login && command != logout
.
Аргументы указанной команды kubectl.
тип секретаsecretType
-
string
. Требуется, если command != login && command != logout
. Допустимые значения: dockerRegistry
, generic
. Значение по умолчанию: dockerRegistry
.
Создание и обновление универсального или docker imagepullsecret. Выберите dockerRegistry, чтобы создать или обновить imagepullsecret выбранного реестра. ImagePullSecret — это способ передать секрет, содержащий пароль реестра контейнеров в Kubelet, чтобы он смог извлечь частный образ от имени pod.
secretArguments
-
аргументы
string
. Необязательный. Используется при secretType = generic && command != login && command != logout
.
Указывает ключи и литеральные значения для вставки в секрет. Например, --from-literal=key1=value1
или --from-literal=key2="top secret"
.
типа реестра контейнеров containerRegistryType
-
string
. Требуется, если secretType = dockerRegistry && command != login && command != logout
. Допустимые значения: Azure Container Registry
, Container Registry
. Значение по умолчанию: Azure Container Registry
.
Выберите тип реестра контейнеров. Задача может использовать сведения о подписке Azure для работы с реестром контейнеров Azure. Также поддерживаются другие стандартные реестры контейнеров.
dockerRegistryEndpoint
-
подключение службы реестра Docker
string
. Необязательный. Используется при secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout
.
Выберите подключение службы реестра Docker. Требуется для команд, которые должны пройти проверку подлинности в реестре.
azureSubscriptionEndpointForSecrets
-
подписке Azure
string
. Необязательный. Используется при secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout
.
Указывает подписку Azure Resource Manager, содержащую реестр контейнеров Azure.
Заметка
Чтобы настроить новое подключение к службе, выберите подписку Azure из списка и щелкните Authorize
. Если подписка не указана или вы хотите использовать существующий субъект-службу, можно настроить подключение службы Azure с помощью кнопок Add
или Manage
.
azureContainerRegistry
-
реестр контейнеров Azure
string
. Необязательный. Используется при secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout
.
Указывает реестр контейнеров Azure, используемый для извлечения образов контейнеров и развертывания приложений в кластере Kubernetes. Требуется для команд, которые должны пройти проверку подлинности в реестре.
secretName
-
имя секрета
string
. Необязательный. Используется при command != login && command != logout
.
Имя секрета. Это имя секрета можно использовать в файле конфигурации YAML Kubernetes.
forceUpdate
-
секрет обновления
boolean
. Необязательный. Используется при command != login && command != logout
. Значение по умолчанию: true
.
Удалите секрет, если он существует, и создайте новый с обновленными значениями.
имени ConfigMap configMapName
-
string
. Необязательный. Используется при command != login && command != logout
.
ConfigMaps позволяет отделить артефакты конфигурации от содержимого изображения, чтобы обеспечить перенос контейнерных приложений.
forceUpdateConfigMap
-
configmap для принудительного обновления
boolean
. Необязательный. Используется при command != login && command != logout
. Значение по умолчанию: false
.
Удалите конфигурацию, если она существует, и создайте новую с обновленными значениями.
useConfigMapFile
-
Использовать файлов
boolean
. Необязательный. Используется при command != login && command != logout
. Значение по умолчанию: false
.
Создает ConfigMap
из отдельного файла или из нескольких файлов, указав каталог.
файла ConfigMap configMapFile
-
string
. Требуется, если useConfigMapFile = true && command != login && command != logout
.
Укажите файл или каталог, содержащий configMaps.
configMapArguments
-
аргументы
string
. Необязательный. Используется при useConfigMapFile = false && command != login && command != logout
.
Указывает ключи и литеральные значения для вставки в configMap
. Например, --from-literal=key1=value1
или --from-literal=key2="top secret"
.
versionOrLocation
-
Kubectl
string
. Допустимые значения: version
, location
(указать расположение). Значение по умолчанию: version
.
kubectl — это интерфейс командной строки для выполнения команд в кластерах Kubernetes.
versionOrLocation
-
Kubectl
string
. Необязательный. Используется при command != login && command != logout
. Допустимые значения: version
, location
(указать расположение). Значение по умолчанию: version
.
kubectl — это интерфейс командной строки для выполнения команд в кластерах Kubernetes.
спецификации версий versionSpec
-
string
. Необязательный. Используется при versionOrLocation = version
. Значение по умолчанию: 1.13.2
.
Указывает спецификацию версии для получения. Примеры: 1.7.0
, 1.x.0
, 4.x.0
, 6.10.0
, >=6.10.0
.
спецификации версий versionSpec
-
string
. Необязательный. Используется при versionOrLocation = version && command != login && command != logout
. Значение по умолчанию: 1.7.0
.
-18-2 указывает спецификацию версии для получения. Примеры: 1.7.0
, 1.x.0
, 4.x.0
, 6.10.0
, >=6.10.0
.
checkLatest
-
Проверьте наличие последней версии
boolean
. Необязательный. Используется при versionOrLocation = version
. Значение по умолчанию: false
.
Всегда проверяет наличие последней доступной версии (stable.txt), удовлетворяющей спецификации версии. Обычно это значение false, если у вас нет конкретного сценария, чтобы всегда получать последние версии. Это приведет к тому, что она будет нести затраты на скачивание, если потенциально не требуется, особенно с размещенным пулом сборок.
checkLatest
-
Проверьте наличие последней версии
boolean
. Необязательный. Используется при versionOrLocation = version && command != login && command != logout
. Значение по умолчанию: false
.
Всегда проверяет наличие последней доступной версии (stable.txt), удовлетворяющей спецификации версии. Обычно это значение false, если у вас нет конкретного сценария, чтобы всегда получать последние версии. Это приведет к тому, что она будет нести затраты на скачивание, если потенциально не требуется, особенно с размещенным пулом сборок.
specifyLocation
-
Путь к kubectl
string
. Требуется, если versionOrLocation = location
.
Указывает полный путь к файлу kubectl.exe
.
specifyLocation
-
Путь к kubectl
string
. Требуется, если versionOrLocation = location && command != login && command != logout
.
Указывает полный путь к файлу kubectl.exe
.
рабочего каталога workingDirectory
-
Псевдоним ввода: cwd
.
string
. Значение по умолчанию: $(System.DefaultWorkingDirectory)
.
Рабочий каталог для команды Kubectl.
рабочего каталога workingDirectory
-
Псевдоним ввода: cwd
.
string
. Необязательный. Используется при command != login && command != logout
. Значение по умолчанию: $(System.DefaultWorkingDirectory)
.
Рабочий каталог для команды Kubectl.
outputFormat
-
формат выходных данных
string
. Допустимые значения: json
, yaml
, none
. Значение по умолчанию: json
.
Формат вывода. Список разрешенных значений предоставляет некоторые распространенные варианты выбора при использовании помощника по задачам, но можно указать другие параметры вывода , например jsonpath={.items[*].spec['initContainers', 'containers'][*].image}
.
outputFormat
-
формат выходных данных
string
. Допустимые значения: json
, yaml
. Значение по умолчанию: json
.
Формат вывода. Список разрешенных значений предоставляет некоторые распространенные варианты выбора при использовании помощника по задачам, но можно указать другие параметры вывода , например jsonpath={.items[*].spec['initContainers', 'containers'][*].image}
.
outputFormat
-
формат выходных данных
string
. Необязательный. Используется при command != login && command != logout
. Допустимые значения: json
, yaml
. Значение по умолчанию: json
.
Формат вывода. Список разрешенных значений предоставляет некоторые распространенные варианты выбора при использовании помощника по задачам, но можно указать другие параметры вывода , например jsonpath={.items[*].spec['initContainers', 'containers'][*].image}
.
Параметры управления задачами
Все задачи имеют параметры управления в дополнение к входным данным задачи. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.
Выходные переменные
Эта задача определяет следующие выходные переменные, которые можно использовать в подчиненных шагах, заданиях и этапах.
KubectlOutput
сохраняет выходные данные команды kubectl
.
Замечания
Новые возможности версии 1.0.
- Добавлен новый тип подключения службы для простого выбора кластеров Azure AKS.
- Заменил входные данные выходной переменной разделом выходных переменных, который мы добавили во всех задачах.
Используйте эту задачу для развертывания, настройки или обновления кластера Kubernetes, выполнив команды kubectl.
Подключение к службе
Задача работает с двумя типами подключений службы: Azure Resource Manager и подключения к службе Kubernetes, описанные ниже.
Azure Resource Manager
Задайте для connectionType
значение Azure Resource Manager
и укажите azureSubscriptionEndpoint
для использования подключения службы Azure Resource Manager.
В этом примере YAML показано, как Azure Resource Manager используется для ссылки на кластер Kubernetes. Это необходимо использовать с одной из команд kubectl и соответствующими значениями, необходимыми командой.
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)
Подключение службы Kubernetes
Задайте для connectionType
значение Kubernetes Service Connection
и укажите kubernetesServiceEndpoint
для использования подключения службы Kubernetes.
В этом примере YAML показано, как подключение службы Kubernetes используется для ссылки на кластер Kubernetes. Это необходимо использовать с одной из команд kubectl и соответствующими значениями, необходимыми командой.
- task: Kubernetes@1
displayName: kubectl apply
inputs:
connectionType: Kubernetes Service Connection
kubernetesServiceEndpoint: Contoso
Рекомендации по подключению к службе Kubernetes при доступе к AKS
Вы можете создать подключение службы Kubernetes с любым из следующих параметров.
- KubeConfig
- Учетная запись службы
- Подписка Azure
При выборе параметра подписки Azure kubernetes необходимо получить доступ к Azure DevOps во время настройки подключения службы. Могут возникнуть различные причины, по которым невозможно создать подключение к службе, например, вы создали частный кластер или кластер имеет локальных учетных записей, отключенных. В этих случаях Azure DevOps не может подключиться к кластеру во время настройки подключения к службе, и вы увидите зависшие экране загрузки пространств имен.
Начиная с Kubernetes 1.24 долговременные маркеры больше не создаются по умолчанию. Kubernetes рекомендует не использовать долгосрочные токены. В результате задачи, использующие подключение службы Kubernetes, созданное с помощью параметра подписки Azure, не имеют доступа к постоянному маркеру, необходимому для проверки подлинности и не удается получить доступ к кластеру Kubernetes. Это также приводит к замороженной загрузке пространств имен диалоге.
Использование подключения службы Azure Resource Manager для доступа к AKS
Для клиентов AKS тип подключения службы Azure Resource Manager предоставляет лучший способ подключения к частному кластеру или кластеру с отключенными локальными учетными записями. Этот метод не зависит от подключения к кластеру во время создания подключения к службе. Доступ к AKS откладывается в среду выполнения конвейера, что имеет следующие преимущества:
- Доступ к (частному) кластеру AKS можно выполнить из локального или масштабируемого агента с линией зрения к кластеру.
- Маркер создается для каждой задачи, которая использует подключение службы Azure Resource Manager. Это гарантирует подключение к Kubernetes с коротким маркером, который является рекомендацией Kubernetes.
- Доступ к AKS можно получить даже при отключении локальных учетных записей.
Часто задаваемые вопросы о подключении к службе
Я получаю следующее сообщение об ошибке: не удалось найти секрет, связанный с учетной записью службы. Что происходит?
Вы используете подключение к службе Kubernetes с параметром подписки Azure. Мы обновляем этот метод для создания долгосрочных маркеров. Ожидается, что это будет доступно в середине мая. Однако рекомендуется начать использовать тип подключения службы Azure, а не использовать долгоживущие маркеры в руководстве Kubernetes.
Я использую AKS и не хочу ничего изменить, можно ли продолжать использовать задачи с подключением службы Kubernetes?
Мы обновляем этот метод для создания долгосрочных маркеров. Ожидается, что это будет доступно в середине мая. Тем не менее, обратите внимание, что этот подход подходит для руководства Kubernetes.
Я использую задачи Kubernetes и подключение службы Kubernetes, но не AKS. Должен ли я беспокоиться?
Задачи будут продолжать работать, как и раньше.
Будет ли удален тип подключения службы Kubernetes?
Наши задачи Kubernetes работают с любым кластером Kubernetes независимо от того, где они работают. Подключение службы Kubernetes будет продолжать существовать.
Я клиент AKS, и все работает хорошо, должен ли я действовать?
Изменить ничего не нужно. Если вы используете подключение службы Kubernetes и выбранную подписку Azure во время создания, следует учитывать руководство по Kubernetes по использованию долгосрочных маркеров.
Я создаю среду Kubernetes и не могу использовать подключения к службам.
Если вы не сможете получить доступ к AKS во время создания среды, можно использовать пустую среду и задать connectionType
входные данные для подключения службы Azure Resource Manager.
У меня есть AKS, настроенный с помощью Azure Active Directory RBAC, и мой конвейер не работает. Будут ли эти обновления разрешать это?
Доступ к Kubernetes при включении AAD RBAC не связан с созданием маркера. Чтобы предотвратить интерактивный запрос, мы будем поддерживать kubelogin в будущем обновлении.
Команды
Входные данные команды принимают команды kubectl.
В этом примере YAML демонстрируется применить команду:
- 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
В этом примере YAML демонстрируется использование файла конфигурации с применить команду:
- 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
В этом примере YAML показано, как использовать команду масштабирования, чтобы уменьшить количество реплик в развертывании до 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)
Секреты
Объекты Kubernetes типа секрета предназначены для хранения конфиденциальных данных, таких как пароли, маркеры OAuth и ключи SSH. Размещение этих сведений в секрете является более безопасным и более гибким, чем его подробное размещение в определении pod или в образе Docker. Azure Pipelines упрощает добавление ImagePullSecrets
в учетную запись службы или настройку любого универсального секрета, как описано ниже.
ImagePullSecret
В этом примере YAML демонстрируется настройка 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
Универсальные секреты
В этом примере YAML создаются универсальные секреты из литеральных значений, указанных для входных данных 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
Переменные конвейера можно использовать для передачи аргументов для указания литеральных значений, как показано ниже:
- 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 позволяет отделить артефакты конфигурации от содержимого изображения, чтобы обеспечить переносимость контейнерных приложений.
В этом примере YAML создается ConfigMap, указывая на файл ConfigMap:
- task: Kubernetes@1
displayName: kubectl apply
inputs:
configMapName: myconfig
useConfigMapFile: true
configMapFile: src/configmap
В этом примере YAML создается ConfigMap путем указания литеральных значений непосредственно в качестве входных данных configMapArgument s и задания forceUpdate значение 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
Переменные конвейера можно использовать для передачи литеральных значений при создании ConfigMap, как показано ниже.
- 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)
Устранение неполадок
Кластер Kubernetes находится за брандмауэром, и я использую размещенные агенты. Как развернуть в этом кластере?
Доступ к размещенным агентам можно предоставить через брандмауэр, разрешая IP-адреса для размещенных агентов. Дополнительные сведения см. в разделе Диапазоны IP-адресов агента
Требования
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка, классический выпуск |
Выполняется в | Агент, DeploymentGroup |
требования | Никакой |
возможностей | Эта задача не удовлетворяет требованиям к последующим задачам в задании. |
ограничения команд | Любой |
переменные settable | Любой |
Версия агента | Все поддерживаемые версии агента. |
Категория задач | Развертывать |