HelmDeploy@0 — задача упаковки и развертывания диаграмм Helm версии 0
Используйте эту задачу для развертывания, настройки или обновления кластера Kubernetes в Службе контейнеров Azure с помощью команд helm.
Используйте эту задачу для развертывания, настройки или обновления кластера Kubernetes в Службе контейнеров Azure с помощью команд helm.
Синтаксис
# Package and deploy Helm charts v0
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@0
inputs:
# Kubernetes Cluster
#connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout && command != package && command != save. Connection Type. Default: Azure Resource Manager.
#azureSubscription: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Kubernetes cluster.
#useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Use cluster admin credentials. Default: false.
#kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection && command != logout && command != package && command != save. Kubernetes Service Connection.
#namespace: # string. Optional. Use when command != logout && command != package && command != save. Namespace.
# Azure Container Registry
#azureSubscriptionForACR: # string. Alias: azureSubscriptionEndpointForACR. Required when command == save. Azure subscription for Container Registry.
#azureResourceGroupForACR: # string. Required when command == save. Resource group.
#azureContainerRegistry: # string. Required when command == save. Azure Container Registry.
# Commands
command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'save' | 'upgrade' | 'uninstall'. Required. Command. Default: ls.
#chartType: 'Name' # 'Name' | 'FilePath'. Required when command == install || command == upgrade. Chart Type. Default: Name.
chartName: # string. Required when chartType == Name. Chart Name.
#chartPath: # string. Required when chartType == FilePath || command == package. Chart Path.
#chartVersion: # string. Alias: version. Optional. Use when command == package || command == install || command == upgrade. Version.
#releaseName: # string. Optional. Use when command == install || command == upgrade. Release Name.
#overrideValues: # string. Optional. Use when command == install || command == upgrade. Set Values.
#valueFile: # string. Optional. Use when command == install || command == upgrade. Value File.
#destination: '$(Build.ArtifactStagingDirectory)' # string. Optional. Use when command == package. Destination. Default: $(Build.ArtifactStagingDirectory).
#canaryimage: false # boolean. Optional. Use when command == init. Use canary image version. Default: false.
#upgradetiller: true # boolean. Optional. Use when command == init. Upgrade Tiller. Default: true.
#updatedependency: false # boolean. Optional. Use when command == install || command == package. Update Dependency. Default: false.
#save: true # boolean. Optional. Use when command == package. Save. Default: true.
#install: true # boolean. Optional. Use when command == upgrade. Install if release not present. Default: true.
#recreate: false # boolean. Optional. Use when command == upgrade. Recreate Pods. Default: false.
#resetValues: false # boolean. Optional. Use when command == upgrade. Reset Values. Default: false.
#force: false # boolean. Optional. Use when command == upgrade. Force. Default: false.
#waitForExecution: true # boolean. Optional. Use when command == init || command == install || command == upgrade. Wait. Default: true.
#arguments: # string. Optional. Use when command != login && command != logout. Arguments.
#chartNameForACR: # string. Required when command == save. Chart Name For Azure Container Registry.
#chartPathForACR: # string. Required when command == save. Chart Path for Azure Container Registry.
# TLS
#enableTls: false # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Enable TLS. Default: false.
#caCert: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. CA certificate.
#certificate: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. Certificate.
#privatekey: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. Key.
# Advanced
#tillernamespace: # string. Optional. Use when command != login && command != logout && command != package && command != save. Tiller namespace.
#failOnStderr: false # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Fail on Standard Error. Default: false.
#publishPipelineMetadata: true # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Publish pipeline metadata. Default: true.
# Package and deploy Helm charts v0
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@0
inputs:
# Kubernetes Cluster
#connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout && command != package && command != save. Connection Type. Default: Azure Resource Manager.
#azureSubscription: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Kubernetes cluster.
#useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Use cluster admin credentials. Default: false.
#kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection && command != logout && command != package && command != save. Kubernetes Service Connection.
#namespace: # string. Optional. Use when command != logout && command != package && command != save. Namespace.
# Azure Container Registry
#azureSubscriptionForACR: # string. Alias: azureSubscriptionEndpointForACR. Required when command == save. Azure subscription for Container Registry.
#azureResourceGroupForACR: # string. Required when command == save. Resource group.
#azureContainerRegistry: # string. Required when command == save. Azure Container Registry.
# Commands
command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'save' | 'upgrade'. Required. Command. Default: ls.
#chartType: 'Name' # 'Name' | 'FilePath'. Required when command == install || command == upgrade. Chart Type. Default: Name.
chartName: # string. Required when chartType == Name. Chart Name.
#chartPath: # string. Required when chartType == FilePath || command == package. Chart Path.
#chartVersion: # string. Alias: version. Optional. Use when command == package || command == install || command == upgrade. Version.
#releaseName: # string. Optional. Use when command == install || command == upgrade. Release Name.
#overrideValues: # string. Optional. Use when command == install || command == upgrade. Set Values.
#valueFile: # string. Optional. Use when command == install || command == upgrade. Value File.
#destination: '$(Build.ArtifactStagingDirectory)' # string. Optional. Use when command == package. Destination. Default: $(Build.ArtifactStagingDirectory).
#canaryimage: false # boolean. Optional. Use when command == init. Use canary image version. Default: false.
#upgradetiller: true # boolean. Optional. Use when command == init. Upgrade Tiller. Default: true.
#updatedependency: false # boolean. Optional. Use when command == install || command == package. Update Dependency. Default: false.
#save: true # boolean. Optional. Use when command == package. Save. Default: true.
#install: true # boolean. Optional. Use when command == upgrade. Install if release not present. Default: true.
#recreate: false # boolean. Optional. Use when command == upgrade. Recreate Pods. Default: false.
#resetValues: false # boolean. Optional. Use when command == upgrade. Reset Values. Default: false.
#force: false # boolean. Optional. Use when command == upgrade. Force. Default: false.
#waitForExecution: true # boolean. Optional. Use when command == init || command == install || command == upgrade. Wait. Default: true.
#arguments: # string. Optional. Use when command != login && command != logout. Arguments.
#chartNameForACR: # string. Required when command == save. Chart Name For Azure Container Registry.
#chartPathForACR: # string. Required when command == save. Chart Path for Azure Container Registry.
# TLS
#enableTls: false # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Enable TLS. Default: false.
#caCert: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. CA certificate.
#certificate: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. Certificate.
#privatekey: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. Key.
# Advanced
#tillernamespace: # string. Optional. Use when command != login && command != logout && command != package && command != save. Tiller namespace.
#failOnStderr: false # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Fail on Standard Error. Default: false.
#publishPipelineMetadata: true # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Publish pipeline metadata. Default: true.
# Package and deploy Helm charts v0
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@0
inputs:
# Kubernetes Cluster
#connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout && command != package. Connection Type. Default: Azure Resource Manager.
#azureSubscription: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager && command != logout && command != package. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package. Kubernetes cluster.
#useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout && command != package. Use cluster admin credentials. Default: false.
#kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection && command != logout && command != package. Kubernetes Service Connection.
#namespace: # string. Optional. Use when command != logout && command != package. Namespace.
# Commands
command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'upgrade'. Required. Command. Default: ls.
#chartType: 'Name' # 'Name' | 'FilePath'. Required when command == install || command == upgrade. Chart Type. Default: Name.
chartName: # string. Required when chartType == Name. Chart Name.
#chartPath: # string. Required when chartType == FilePath || command == package. Chart Path.
#chartVersion: # string. Alias: version. Optional. Use when command == package. Version.
#releaseName: # string. Optional. Use when command == install || command == upgrade. Release Name.
#overrideValues: # string. Optional. Use when command == install || command == upgrade. Set Values.
#valueFile: # string. Optional. Use when command == install || command == upgrade. Value File.
#destination: '$(Build.ArtifactStagingDirectory)' # string. Optional. Use when command == package. Destination. Default: $(Build.ArtifactStagingDirectory).
#canaryimage: false # boolean. Optional. Use when command == init. Use canary image version. Default: false.
#upgradetiller: true # boolean. Optional. Use when command == init. Upgrade Tiller. Default: true.
#updatedependency: false # boolean. Optional. Use when command == install || command == package. Update Dependency. Default: false.
#save: true # boolean. Optional. Use when command == package. Save. Default: true.
#install: true # boolean. Optional. Use when command == upgrade. Install if release not present. Default: true.
#recreate: false # boolean. Optional. Use when command == upgrade. Recreate Pods. Default: false.
#resetValues: false # boolean. Optional. Use when command == upgrade. Reset Values. Default: false.
#force: false # boolean. Optional. Use when command == upgrade. Force. Default: false.
#waitForExecution: true # boolean. Optional. Use when command == init || command == install || command == upgrade. Wait. Default: true.
#arguments: # string. Optional. Use when command != login && command != logout. Arguments.
# TLS
#enableTls: false # boolean. Optional. Use when command != login && command != logout && command != package. Enable TLS. Default: false.
#caCert: # string. Required when enableTls == true && command != login && command != logout && command != package. CA certificate.
#certificate: # string. Required when enableTls == true && command != login && command != logout && command != package. Certificate.
#privatekey: # string. Required when enableTls == true && command != login && command != logout && command != package. Key.
# Advanced
#tillernamespace: # string. Optional. Use when command != login && command != logout && command != package. Tiller namespace.
#failOnStderr: true # boolean. Optional. Use when command != login && command != logout && command != package. Fail on Standard Error. Default: true.
# Package and deploy Helm charts v0
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@0
inputs:
# Kubernetes Cluster
#connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout && command != package. Connection Type. Default: Azure Resource Manager.
#azureSubscription: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager && command != logout && command != package. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package. Kubernetes cluster.
#kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection && command != logout && command != package. Kubernetes Service Connection.
#namespace: # string. Optional. Use when command != logout && command != package. Namespace.
# Commands
command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'upgrade'. Required. Command. Default: ls.
#chartType: 'Name' # 'Name' | 'FilePath'. Required when command == install || command == upgrade. Chart Type. Default: Name.
chartName: # string. Required when chartType == Name. Chart Name.
#chartPath: # string. Required when chartType == FilePath || command == package. Chart Path.
#chartVersion: # string. Alias: version. Optional. Use when command == package. Version.
#releaseName: # string. Optional. Use when command == install || command == upgrade. Release Name.
#overrideValues: # string. Optional. Use when command == install || command == upgrade. Set Values.
#valueFile: # string. Optional. Use when command == install || command == upgrade. Value File.
#destination: '$(Build.ArtifactStagingDirectory)' # string. Optional. Use when command == package. Destination. Default: $(Build.ArtifactStagingDirectory).
#canaryimage: false # boolean. Optional. Use when command == init. Use canary image version. Default: false.
#upgradetiller: true # boolean. Optional. Use when command == init. Upgrade Tiller. Default: true.
#updatedependency: false # boolean. Optional. Use when command == install || command == package. Update Dependency. Default: false.
#save: true # boolean. Optional. Use when command == package. Save. Default: true.
#install: true # boolean. Optional. Use when command == upgrade. Install if release not present. Default: true.
#recreate: false # boolean. Optional. Use when command == upgrade. Recreate Pods. Default: false.
#resetValues: false # boolean. Optional. Use when command == upgrade. Reset Values. Default: false.
#force: false # boolean. Optional. Use when command == upgrade. Force. Default: false.
#waitForExecution: true # boolean. Optional. Use when command == init || command == install || command == upgrade. Wait. Default: true.
#arguments: # string. Optional. Use when command != login && command != logout. Arguments.
# TLS
#enableTls: false # boolean. Optional. Use when command != login && command != logout && command != package. Enable TLS. Default: false.
#caCert: # string. Required when enableTls == true && command != login && command != logout && command != package. CA certificate.
#certificate: # string. Required when enableTls == true && command != login && command != logout && command != package. Certificate.
#privatekey: # string. Required when enableTls == true && command != login && command != logout && command != package. Key.
# Advanced
#tillernamespace: # string. Optional. Use when command != login && command != logout && command != package. Tiller namespace.
# Package and deploy Helm charts v0
# Deploy, configure, update your Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@0
inputs:
# Kubernetes Cluster
#connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout && command != package. Connection Type. Default: Azure Resource Manager.
#azureSubscription: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager && command != logout && command != package. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package. Kubernetes cluster.
#kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection && command != logout && command != package. Kubernetes Service Connection.
#namespace: # string. Optional. Use when command != logout && command != package. Namespace.
# Commands
command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'upgrade'. Required. Command. Default: ls.
#chartType: 'Name' # 'Name' | 'FilePath'. Required when command == install || command == upgrade. Chart Type. Default: Name.
chartName: # string. Required when chartType == Name. Chart Name.
#chartPath: # string. Required when chartType == FilePath || command == package. Chart Path.
#chartVersion: # string. Alias: version. Optional. Use when command == package. Version.
#releaseName: # string. Optional. Use when command == install || command == upgrade. Release Name.
#overrideValues: # string. Optional. Use when command == install || command == upgrade. Set Values.
#valueFile: # string. Optional. Use when command == install || command == upgrade. Value File.
#destination: '$(Build.ArtifactStagingDirectory)' # string. Optional. Use when command == package. Destination. Default: $(Build.ArtifactStagingDirectory).
#canaryimage: false # boolean. Optional. Use when command == init. Use canary image version. Default: false.
#upgradetiller: true # boolean. Optional. Use when command == init. Upgrade Tiller. Default: true.
#updatedependency: false # boolean. Optional. Use when command == install || command == package. Update Dependency. Default: false.
#save: true # boolean. Optional. Use when command == package. Save. Default: true.
#install: true # boolean. Optional. Use when command == upgrade. Install if release not present. Default: true.
#recreate: false # boolean. Optional. Use when command == upgrade. Recreate Pods. Default: false.
#resetValues: false # boolean. Optional. Use when command == upgrade. Reset Values. Default: false.
#force: false # boolean. Optional. Use when command == upgrade. Force. Default: false.
#waitForExecution: true # boolean. Optional. Use when command == init || command == install || command == upgrade. Wait. Default: true.
#arguments: # string. Optional. Use when command != login && command != logout. Arguments.
# TLS
#enableTls: false # boolean. Optional. Use when command != login && command != logout && command != package. Enable TLS. Default: false.
#caCert: # string. Required when enableTls == true && command != login && command != logout && command != package. CA certificate.
#certificate: # string. Required when enableTls == true && command != login && command != logout && command != package. Certificate.
#privatekey: # string. Required when enableTls == true && command != login && command != logout && command != package. Key.
# Advanced
#tillernamespace: # string. Optional. Use when command != login && command != logout && command != package. Tiller namespace.
Входные данные
connectionType
- Тип подключения
string
. Требуется, если command != logout && command != package && command != save
. Допустимые значения: Azure Resource Manager
, Kubernetes Service Connection
, None
. Значение по умолчанию: Azure Resource Manager
.
Определяет тип подключения.
Kubernetes Service Connection
— УкажитеKubernetes Service Connection
для подключения к любому кластеру Kubernetes с помощьюkubeconfig
или учетной записи службы Azure. Позволяет указать файл KubeConfig, указать учетную запись службы или импортировать экземпляр AKS с параметром "Подписка Azure ". Для импорта экземпляра AKS с параметром "Подписка Azure " требуется доступ к кластеру Kubernetes во время настройки подключения службы.Azure Resource Manager
— укажитеAzure Resource Manager
для подключения к Служба Azure Kubernetes с помощью подключения к службе Azure. Не получает доступ к кластеру Kubernetes во время настройки подключения службы.None
— Используйте предварительно созданную конфигурацию Kubernetes, хранящуюся локально.
Дополнительные сведения см. в разделе Подключение к службе в следующем разделе Примечания .
connectionType
- Тип подключения
string
. Требуется, если command != logout && command != package
. Допустимые значения: Azure Resource Manager
, Kubernetes Service Connection
, None
. Значение по умолчанию: Azure Resource Manager
.
Определяет тип подключения.
Kubernetes Service Connection
— УкажитеKubernetes Service Connection
для подключения к любому кластеру Kubernetes с помощьюkubeconfig
или учетной записи службы Azure. Позволяет указать файл KubeConfig, указать учетную запись службы или импортировать экземпляр AKS с параметром "Подписка Azure ". Для импорта экземпляра AKS с параметром "Подписка Azure " требуется доступ к кластеру Kubernetes во время настройки подключения службы.Azure Resource Manager
— укажитеAzure Resource Manager
для подключения к Служба Azure Kubernetes с помощью подключения к службе Azure. Не получает доступ к кластеру Kubernetes во время настройки подключения службы.None
— Используйте предварительно созданную конфигурацию Kubernetes, хранящуюся локально.
Дополнительные сведения см. в разделе Подключение к службе в следующем разделе Примечания .
azureSubscription
- Подписка Azure
Входной псевдоним: azureSubscriptionEndpoint
. string
. Требуется, если connectionType = Azure Resource Manager && command != logout && command != package && command != save
.
Имя подключения службы Azure. Укажите подписку Azure с реестром контейнеров.
azureSubscription
- Подписка Azure
Входной псевдоним: azureSubscriptionEndpoint
. string
. Требуется, если connectionType = Azure Resource Manager && command != logout && command != package
.
Имя подключения службы Azure. Укажите подписку Azure с реестром контейнеров.
azureResourceGroup
- Группа ресурсов
string
. Требуется, если connectionType = Azure Resource Manager && command != logout && command != package && command != save
.
Имя группы ресурсов в подписке. Укажите группу ресурсов Azure.
azureResourceGroup
- Группа ресурсов
string
. Требуется, если connectionType = Azure Resource Manager && command != logout && command != package
.
Имя группы ресурсов в подписке. Укажите группу ресурсов Azure.
kubernetesCluster
- Кластер Kubernetes
string
. Требуется, если connectionType = Azure Resource Manager && command != logout && command != package && command != save
.
Имя кластера AKS. Укажите Управляемый кластер Azure.
kubernetesCluster
- Кластер Kubernetes
string
. Требуется, если connectionType = Azure Resource Manager && command != logout && command != package
.
Имя кластера AKS. Укажите Управляемый кластер Azure.
useClusterAdmin
- Использование учетных данных администратора кластера
boolean
. Необязательный элемент. Используйте при connectionType = Azure Resource Manager && command != logout && command != package && command != save
. Значение по умолчанию: false
.
Использует учетные данные администратора кластера вместо учетных данных пользователя кластера по умолчанию.
useClusterAdmin
- Использование учетных данных администратора кластера
boolean
. Необязательный элемент. Используйте при connectionType = Azure Resource Manager && command != logout && command != package
. Значение по умолчанию: false
.
Использует учетные данные администратора кластера вместо учетных данных пользователя кластера по умолчанию.
kubernetesServiceConnection
- Подключение к службе Kubernetes
Входной псевдоним: kubernetesServiceEndpoint
. string
. Требуется, если connectionType = Kubernetes Service Connection && command != logout && command != package && command != save
.
Указывает подключение службы Kubernetes.
kubernetesServiceConnection
- Подключение к службе Kubernetes
Входной псевдоним: kubernetesServiceEndpoint
. string
. Требуется, если connectionType = Kubernetes Service Connection && command != logout && command != package
.
Указывает подключение службы Kubernetes.
namespace
- Пространства имен
string
. Необязательный элемент. Используйте при command != logout && command != package && command != save
.
Пространство имен, в котором выполняются kubectl
команды. Если значение не указано, задача использует пространство имен по умолчанию. Укажите пространство имен Kubernetes для использования. Пространство имен Tiller можно указать в расширенном разделе задачи или путем передачи параметра в --tiller-namespace
качестве аргумента.
namespace
- Пространства имен
string
. Необязательный элемент. Используйте при command != logout && command != package
.
Пространство имен, в котором выполняются kubectl
команды. Если значение не указано, задача использует пространство имен по умолчанию. Укажите пространство имен Kubernetes для использования. Пространство имен Tiller можно указать в расширенном разделе задачи или путем передачи параметра в --tiller-namespace
качестве аргумента.
azureSubscriptionForACR
- Подписка Azure для Реестра контейнеров
Входной псевдоним: azureSubscriptionEndpointForACR
. string
. Требуется, если command == save
.
Указывает подписку Azure с вашим Реестр контейнеров Azure.
azureResourceGroupForACR
- Группа ресурсов
string
. Требуется, если command == save
.
Указывает группу ресурсов Azure с реестром контейнеров.
azureContainerRegistry
- Реестр контейнеров Azure
string
. Требуется, если command == save
.
Указывает Реестр контейнеров Azure, который будет использоваться для отправки диаграмм Helm.
command
- Команды
string
. Обязательный. Допустимые значения: create
, delete
, expose
, get
, install
init
, login
, logout
, , ls
, , package
, rollback
, save
, upgrade
. uninstall
Значение по умолчанию: ls
.
Указывает команду Helm.
command
- Команды
string
. Обязательный. Допустимые значения: create
, delete
, expose
, get
, install
init
, , logout
login
, , ls
, , package
, rollback
, save
. upgrade
Значение по умолчанию: ls
.
Указывает команду Helm.
command
- Команды
string
. Обязательный. Допустимые значения: create
, delete
, expose
, get
, install
init
, , logout
login
, , ls
, , package
, rollback
, . upgrade
Значение по умолчанию: ls
.
Указывает команду Helm.
chartType
- Тип диаграммы
string
. Требуется при .command == install || command == upgrade
Допустимые значения: Name
, FilePath
(Путь к файлу). Значение по умолчанию: Name
.
Указывает способ ввода сведений о диаграмме. Можно указать имя диаграммы или путь к папке или файлу диаграммы.
chartName
- Имя диаграммы
string
. Требуется при .chartType == Name
Имя устанавливаемой ссылки на диаграмму. Это может быть URL-адрес или имя диаграммы. Например, если диаграмма называется stable/mysql
, задача выполняется helm install stable/mysql
.
chartPath
- Путь к диаграмме
string
. Требуется при .chartType == FilePath || command == package
Путь к устанавливаемой диаграмме. Это может быть путь к упаковаемой диаграмме или путь к каталогу неупакованных диаграмм. Например, если указать ./redis
, задача выполняется helm install ./redis
. Если вы используете диаграмму, опубликованную в виде артефакта, путь будет иметь значение $(System.DefaultWorkingDirectory)/ARTIFACT-NAME/Charts/CHART-NAME
.
chartVersion
- Версия
Входной псевдоним: version
. string
. Необязательный элемент. Используйте при command == package || command == install || command == upgrade
.
Указывает точную версию диаграммы для установки. Если не указать версию диаграммы, задача установит последнюю версию. Присвойте на диаграмме версию этой версии semver.
chartVersion
- Версия
Входной псевдоним: version
. string
. Необязательный элемент. Используйте при command == package
.
Указывает точную версию диаграммы для установки. Если не указать версию диаграммы, задача установит последнюю версию. Присвойте на диаграмме версию этой версии semver.
releaseName
- Название выпуска
string
. Необязательный элемент. Используйте при command == install || command == upgrade
.
Имя выпуска. Если не указать имя выпуска, задача автоматически создает его. Входные releaseName
данные допустимы только для install
команд и upgrade
.
overrideValues
- Задать значения
string
. Необязательный элемент. Используйте при command == install || command == upgrade
.
Задает значения в командной строке. Эти входные данные могут указывать несколько или отдельные значения с запятыми: key1=val1,key2=val2
.
Можно также указать несколько значений, разделив их новой строкой следующим образом:
- key1=val1
- key2=val2
Если у вас есть значение, содержащее новые строки, используйте valueFile
параметр . В противном случае задача обрабатывает новую строку как разделитель. Задача создает команду Helm, используя эти заданные значения. Например, можно задать значение с помощью следующей команды: helm install --set key1=val1 ./redis
.
valueFile
- Файл значений
string
. Необязательный элемент. Используйте при command == install || command == upgrade
.
Задает значения в YAML-файле или URL-адресе. Например, при указании myvalues.yaml
результатов в helm install --values=myvals.yaml
.
destination
- Назначения
string
. Необязательный элемент. Используйте при command == package
. Значение по умолчанию: $(Build.ArtifactStagingDirectory)
.
Задает значения в YAML-файле или URL-адресе.
canaryimage
- Используйте версию канареечного образа.
boolean
. Необязательный элемент. Используйте при command == init
. Значение по умолчанию: false
.
Указывает канаречного изображения Тиллера. Используйте последнюю предварительную версию Tiller.
upgradetiller
- Обновление Tiller
boolean
. Необязательный элемент. Используйте при command == init
. Значение по умолчанию: true
.
Если true
задано значение , эти входные данные обновляют Tiller, если Tiller уже установлен.
updatedependency
- Обновление зависимости
boolean
. Необязательный элемент. Используйте при command == install || command == package
. Значение по умолчанию: false
.
Если true
задано значение , то перед установкой диаграммы эти входные данные обновляют зависимостей Helm. Обновления зависимости из requirements.yaml
в каталог перед упаковкойcharts/
.
save
- Сохранить
boolean
. Необязательный элемент. Используйте при command == package
. Значение по умолчанию: true
.
Сохраняет упаковаемую диаграмму в локальный репозиторий диаграмм, если задано значение true
.
install
- Установите, если выпуска нет.
boolean
. Необязательный элемент. Используйте при command == upgrade
. Значение по умолчанию: true
.
Если выпуск с таким именем еще не существует, на входных данных запускается установка.
recreate
- Повторно создайте модули Pod.
boolean
. Необязательный элемент. Используйте при command == upgrade
. Значение по умолчанию: false
.
Выполняет перезапуск pod для ресурса, если применимо.
resetValues
- Сброс значений.
boolean
. Необязательный элемент. Используйте при command == upgrade
. Значение по умолчанию: false
.
Сбрасывает значения до значений, встроенных в диаграмму.
force
- Силы
boolean
. Необязательный элемент. Используйте при command == upgrade
. Значение по умолчанию: false
.
При необходимости выполняет принудительное обновление ресурса с помощью действия удаления или повторного создания.
waitForExecution
- Подожди
boolean
. Необязательный элемент. Используйте при command == init || command == install || command == upgrade
. Значение по умолчанию: true
.
Блокирует действие до завершения выполнения команды.
arguments
- Аргументы
string
. Необязательный элемент. Используйте при command != login && command != logout
.
Параметры команды Helm.
enableTls
- Включение TLS
boolean
. Необязательный элемент. Используйте при command != login && command != logout && command != package && command != save
. Значение по умолчанию: false
.
Включает использование SSL между Helm и Tiller.
enableTls
- Включение TLS
boolean
. Необязательный элемент. Используйте при command != login && command != logout && command != package
. Значение по умолчанию: false
.
Включает использование SSL между Helm и Tiller.
caCert
- Сертификат ЦС
string
. Требуется при .enableTls == true && command != login && command != logout && command != package && command != save
Сертификат ЦС, используемый для выдачи сертификата для клиента Tiller и Helm.
caCert
- Сертификат ЦС
string
. Требуется при .enableTls == true && command != login && command != logout && command != package
Сертификат ЦС, используемый для выдачи сертификата для клиента Tiller и Helm.
certificate
- Сертификат
string
. Требуется при .enableTls == true && command != login && command != logout && command != package && command != save
Укажите сертификат Tiller или сертификат клиента Helm.
certificate
- Сертификат
string
. Требуется при .enableTls == true && command != login && command != logout && command != package
Укажите сертификат Tiller или сертификат клиента Helm.
privatekey
- Ключ
string
. Требуется при .enableTls == true && command != login && command != logout && command != package && command != save
Укажите ключ Tiller или ключ клиента Helm.
privatekey
- Ключ
string
. Требуется при .enableTls == true && command != login && command != logout && command != package
Укажите ключ Tiller или ключ клиента Helm.
tillernamespace
- Пространство имен Tiller
string
. Необязательный элемент. Используйте при command != login && command != logout && command != package && command != save
.
Укажите пространство имен Kubernetes Tiller.
tillernamespace
- Пространство имен Tiller
string
. Необязательный элемент. Используйте при command != login && command != logout && command != package
.
Укажите пространство имен Kubernetes Tiller.
failOnStderr
- Сбой при стандартной ошибке
boolean
. Необязательный элемент. Используйте при command != login && command != logout && command != package && command != save
. Значение по умолчанию: false
.
Если это входные данные , эта задача завершается true
сбоем, если какие-либо ошибки записываются в конвейер ошибок или если какие-либо данные записываются в поток стандартных ошибок. В противном случае задача использует код выхода для определения сбоя.
failOnStderr
- Сбой при стандартной ошибке
boolean
. Необязательный элемент. Используйте при command != login && command != logout && command != package
. Значение по умолчанию: true
.
Если это входные данные , эта задача завершается true
сбоем, если какие-либо ошибки записываются в конвейер ошибок или если какие-либо данные записываются в поток стандартных ошибок. В противном случае задача использует код выхода для определения сбоя.
publishPipelineMetadata
- Публикация метаданных конвейера
boolean
. Необязательный элемент. Используйте при command != login && command != logout && command != package && command != save
. Значение по умолчанию: true
.
Если это входные данные true
, задача собирает и публикует метаданные развертывания.
chartNameForACR
- Имя диаграммы для Реестр контейнеров Azure
string
. Требуется при .command == save
Имя диаграммы в Реестр контейнеров Azure.
chartPathForACR
- Путь к диаграмме для Реестр контейнеров Azure
string
. Требуется при .command == save
Путь к файлу к каталогу диаграммы в Реестр контейнеров Azure.
Параметры управления задачами
Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.
Выходные переменные
Эта задача определяет следующие выходные переменные, которые можно использовать в последующих шагах, заданиях и этапах.
helmExitCode
Код выхода, полученный при выполнении указанной команды Helm.
helmOutput
Выходные данные, полученные при выполнении указанной команды Helm.
Нет.
Remarks
Используйте HelmDeploy@0 для развертывания, настройки или обновления кластера Kubernetes в Службе контейнеров Azure, выполнив команды Helm. Helm — это средство, которое упрощает развертывание приложений Kubernetes и управление ими с помощью формата упаковки, называемого диаграммами.
С помощью Helm вы можете определить, использовать, установить и обновить даже самое сложное приложение Kubernetes, а также установить его версию.
- Helm помогает объединить несколько манифестов Kubernetes (yaml), таких как службы, развертывания, configmap и многое другое, в единое целое, называемое диаграммами Helm. Вам не нужно изобретать или использовать токенизацию или инструмент создания шаблонов.
- Диаграммы Helm помогают управлять зависимостями приложений и развертывать их, а также выполнять откат как единое целое. Кроме того, их можно легко создавать, использовать, публиковать, а также делиться ими с другими командами партнеров.
Azure Pipelines имеет встроенную поддержку диаграмм Helm:
- Задачу установщика helm Tool можно использовать для установки правильной версии Helm на агенты.
- Пакет Helm и задача развертывания можно использовать для упаковки приложения и его развертывания в кластере Kubernetes. Задачу можно использовать для установки или обновления Tiller до пространства имен Kubernetes, безопасного подключения к Tiller по протоколу TLS для развертывания диаграмм или для выполнения любой команды Helm, например lint.
- Задача Helm поддерживает подключение к Служба Azure Kubernetes с помощью подключения к службе Azure. Вы можете подключиться к любому кластеру Kubernetes с помощью kubeconfig или учетной записи службы.
- Развертывания Helm можно дополнить с помощью задачи Kubectl ; например, create/update, imagepullsecret и другие.
Подключение к службе
HelmDeploy@0 работает с двумя типами подключений к службам: Azure Resource Manager и подключением службы Kubernetes. Примеры настройки этих двух типов подключений см. в разделе Примеры .
Примечание
Подключение к службе не требуется, если ресурс среды, указывающий на кластер Kubernetes, уже указан на этапе конвейера.
Рекомендации по подключению службы 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 в будущем обновлении.
Значения команд
Входные данные команды принимают одну из следующих команд helm: create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade. Примеры приведены в разделе Примеры .
Каждый вход команды сопоставляется с набором входных данных задачи. Команды, которые сопоставляются с входными данными задачи, обозначены в блоке синтаксиса YAML и в таблице входных данных задачи.
Устранение неполадок
Задача HelmDeploy выдает ошибку "неизвестный флаг: --wait" при выполнении "helm init --wait --client-only" в версии Helm 3.0.2.
Есть некоторые критические изменения между Helm 2 и Helm 3. Один из них включает удаление tiller, поэтому helm init
команда больше не поддерживается. Удалите команду init при использовании Helm версий 3.0+.
Если при использовании Helm 3 для параметра System.debug задано значение true, а helm upgrade — это используемая команда, конвейер завершается ошибкой, даже если обновление прошло успешно.
Это известная проблема с пакетом Helm 3, так как он записывает некоторые журналы в stderr. Задача развертывания Helm считается неудачной, если в stderr есть журналы или код выхода имеет ненулевое значение. Задайте входные данные задачи failOnStderr: false, чтобы пропускать журналы, показанные в stderr.
Примеры
Azure Resource Manager
В этом примере YAML показано, как Resource Manager Azure используется для ссылки на кластер Kubernetes. Используется с одной из команд helm и соответствующими значениями , необходимыми для команды:
variables:
azureSubscriptionEndpoint: Contoso
azureContainerRegistry: contoso.azurecr.io
azureResourceGroup: Contoso
kubernetesCluster: Contoso
- task: HelmDeploy@0
displayName: Helm deploy
inputs:
connectionType: Azure Resource Manager
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
Подключение службы Kubernetes
В этом примере YAML показано, как подключение службы Kubernetes используется для ссылки на кластер Kubernetes. Используется с одной из команд helm и соответствующими значениями , необходимыми для команды:
- task: HelmDeploy@0
displayName: Helm deploy
inputs:
connectionType: Kubernetes Service Connection
kubernetesServiceEndpoint: Contoso
Команды
Входные данные команды принимают одну из следующих команд helm: create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade.
В этом примере YAML демонстрируется команда ls :
- task: HelmDeploy@0
displayName: Helm list
inputs:
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
command: ls
arguments: --all
Команда init
В этом примере YAML демонстрируется команда init :
- task: HelmDeploy@0
displayName: Helm init
inputs:
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
command: init
upgradetiller: true
waitForExecution: true
arguments: --client-only
Команда install
В этом примере YAML демонстрируется команда install :
- task: HelmDeploy@0
displayName: Helm install
inputs:
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
command: install
chartType: FilePath
chartPath: Application/charts/sampleapp
команда package
В этом примере YAML демонстрируется команда package :
- task: HelmDeploy@0
displayName: Helm package
inputs:
command: package
chartPath: Application/charts/sampleapp
destination: $(Build.ArtifactStagingDirectory)
Команда upgrade
В этом примере YAML демонстрируется команда обновления :
- task: HelmDeploy@0
displayName: Helm upgrade
inputs:
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
command: upgrade
chartType: filepath
chartPath: $(Build.ArtifactStagingDirectory)/sampleapp-v0.2.0.tgz
releaseName: azuredevopsdemo
install: true
waitForExecution: false
Команда save
В этом примере YAML демонстрируется команда сохранения :
- task: HelmDeploy@0
displayName: Helm save
inputs:
command: save
chartNameForACR: mycontainerregistry.azurecr.io/helm/hello-world:v1
chartPathForACR: Application/charts/sampleapp
azureSubscriptionEndpointForACR: $(azureSubscriptionEndpointForACR)
azureResourceGroupForACR: $(azureResourceGroupForACR)
azureContainerRegistry: $(azureContainerRegistry)
Упаковка и подписание диаграмм Helm
В этом разделе вы узнаете, как упаковывать и подписывать диаграммы Helm в конвейере.
Создание пары закрытых и открытых ключей для подписания диаграммы helm с помощью GPG
Скачайте GPG.
Запустите командную строку в режиме администратора. Выполните следующую команду, чтобы создать пару закрытых и открытых ключей, чтобы подписать диаграмму helm с помощью gpg. При создании ключа вам будет предложено ввести имя пользователя и адрес электронной почты. Позже имя адреса электронной почты используется для присвоения имени созданной паре закрытых и открытых ключей.
gpg --full-generate-key
Вам будет предложено ввести парольную фразу. Присвойте значение и нажмите кнопку ОК.
После создания ключа можно просмотреть список ключей, содержащих как закрытые, так и открытые, с помощью следующей команды.
Просмотр списка закрытых ключей
gpg --list-secret-keys
Просмотр списка открытых ключей
gpg --list-keys
Сохраните закрытый и открытый ключи в двух разных файлах с расширением gpg , как показано ниже.
- Для закрытого ключа
gpg --export-secret-key 94325E18E53EDD99DD8339C3CFD9DAF0707CB788 contoso@microsoft.com > C:/somepath/privatekeys.gpg
Вы увидите файл privatekeys.gpg , экспортируемый по указанному выше пути.
- Для открытого ключа
gpg --export-key 94325E18E53EDD99DD8339C3CFD9DAF0707CB788 contoso@microsoft.com > C:/somepath/publickey.gpg
Вы увидите файл publickey.gpg , экспортируемый по указанному выше пути.
В Azure DevOps сохраните файл privatekey.gpg в разделе защищенных файлов библиотеки.
Пример
pool:
name: Hosted Ubuntu 1604
variables:
# The below variable should be secure
HelmKeyPassphrase: contoso@123
keyName: contoso contoso@microsoft.com
azureSubscriptionEndpoint: contoso
azureResourceGroup: contoso
kubernetesCluster: contoso
steps:
- task: DownloadSecureFile@1
displayName: Download Secure file
inputs:
secureFile: privatekey.gpg
name: privateKeyRing
- task: HelmInstaller@0
displayName: Install Helm 2.12.0
inputs:
helmVersion: 2.12.0
- task: HelmDeploy@0
displayName: helm init
inputs:
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
command: init
arguments: --client-only
- task: HelmDeploy@0
displayName: helm package
inputs:
command: package
chartPath: Application/charts/sampleapp
arguments: --sign --key "$(keyName)" --keyring $(privateKeyRing.secureFilePath)
env:
HelmKeyPassphrase: $(HelmKeyPassphrase)
Требования
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка, классический выпуск |
Выполняется в | Агент, DeploymentGroup |
Требования | Нет |
Capabilities | Эта задача не удовлетворяет требованиям для последующих задач в задании. |
Ограничения команд | Любой |
Устанавливаемые переменные | Любой |
Версия агента | Все поддерживаемые версии агента. |
Категория задач | Развертывание |