Поделиться через


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

снимок экрана: выбор метода проверки подлинности подключения службы Kubernetes.

При выборе параметра подписки Azure kubernetes необходимо получить доступ к Azure DevOps во время настройки подключения службы. Могут возникнуть различные причины, по которым невозможно создать подключение к службе, например, вы создали частный кластер или кластер имеет локальных учетных записей, отключенных. В этих случаях Azure DevOps не может подключиться к кластеру во время настройки подключения к службе, и вы увидите зависшие экране загрузки пространств имен.

снимок экрана: выбор диалогового окна проверки подлинности подключения службы Kubernetes при загрузке пространств имен.

Начиная с 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 Любой
Версия агента Все поддерживаемые версии агента.
Категория задач Развертывать