Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Helm komutlarını çalıştırarak Azure Container Service'te bir Kubernetes kümesini dağıtmak, yapılandırmak veya güncelleştirmek için bu görevi kullanın.
Sözdizimi
# 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.
Girişler
connectionType
-
Bağlantı Türü
string
.
command != logout && command != package && command != save
gerekir. İzin verilen değerler: Azure Resource Manager
, Kubernetes Service Connection
, None
. Varsayılan değer: Azure Resource Manager
.
Bağlantı türünü belirtir.
-
Kubernetes Service Connection
-Kubernetes Service Connection
veya Azure Hizmet Hesabı kullanarak herhangi bir Kubernetes kümesine bağlanmak içinkubeconfig
belirtin. KubeConfig dosyası sağlamanıza, Hizmet Hesabı belirtmenize veya Azure Aboneliği seçeneğiyle aks örneğini içeri aktarmanıza olanak tanır. Azure Aboneliği seçeneğiyle bir AKS örneğinin içeri aktarılması için Hizmet Bağlantısı yapılandırma zamanında Kubernetes kümesi erişimi gerekir. -
Azure Resource Manager
- Azure Hizmet Bağlantısı'nı kullanarak Azure Kubernetes Service'e bağlanmak içinAzure Resource Manager
belirtin. Hizmet Bağlantısı yapılandırma zamanında Kubernetes kümesine erişmez. -
None
- Yerel olarak depolanan önceden oluşturulmuş bir Kubernetes yapılandırmasını kullanın.
Daha fazla bilgi için, aşağıdaki Açıklamalar bölümündeki hizmet bağlantısı bölümüne bakın.
connectionType
-
Bağlantı Türü
string
.
command != logout && command != package
gerekir. İzin verilen değerler: Azure Resource Manager
, Kubernetes Service Connection
, None
. Varsayılan değer: Azure Resource Manager
.
Bağlantı türünü belirtir.
-
Kubernetes Service Connection
-Kubernetes Service Connection
veya Azure Hizmet Hesabı kullanarak herhangi bir Kubernetes kümesine bağlanmak içinkubeconfig
belirtin. KubeConfig dosyası sağlamanıza, Hizmet Hesabı belirtmenize veya Azure Aboneliği seçeneğiyle aks örneğini içeri aktarmanıza olanak tanır. Azure Aboneliği seçeneğiyle bir AKS örneğinin içeri aktarılması için Hizmet Bağlantısı yapılandırma zamanında Kubernetes kümesi erişimi gerekir. -
Azure Resource Manager
- Azure Hizmet Bağlantısı'nı kullanarak Azure Kubernetes Service'e bağlanmak içinAzure Resource Manager
belirtin. Hizmet Bağlantısı yapılandırma zamanında Kubernetes kümesine erişmez. -
None
- Yerel olarak depolanan önceden oluşturulmuş bir Kubernetes yapılandırmasını kullanın.
Daha fazla bilgi için, aşağıdaki Açıklamalar bölümündeki hizmet bağlantısı bölümüne bakın.
Azure aboneliği
Giriş diğer adı: azureSubscriptionEndpoint
.
string
.
connectionType = Azure Resource Manager && command != logout && command != package && command != save
gerekir.
Azure Hizmet Bağlantısı'nın adı. Kapsayıcı kayıt defterinizi içeren bir Azure aboneliği belirtin.
Azure aboneliği
Giriş diğer adı: azureSubscriptionEndpoint
.
string
.
connectionType = Azure Resource Manager && command != logout && command != package
gerekir.
Azure Hizmet Bağlantısı'nın adı. Kapsayıcı kayıt defterinizi içeren bir Azure aboneliği belirtin.
kaynak grubu
string
.
connectionType = Azure Resource Manager && command != logout && command != package && command != save
gerekir.
Abonelik içindeki kaynak grubunun adı. Bir Azure Kaynak Grubu belirtin.
kaynak grubu
string
.
connectionType = Azure Resource Manager && command != logout && command != package
gerekir.
Abonelik içindeki kaynak grubunun adı. Bir Azure Kaynak Grubu belirtin.
Kubernetes kümesikubernetesCluster
-
string
.
connectionType = Azure Resource Manager && command != logout && command != package && command != save
gerekir.
AKS kümesinin adı. Azure Yönetilen Kümesi belirtin.
Kubernetes kümesikubernetesCluster
-
string
.
connectionType = Azure Resource Manager && command != logout && command != package
gerekir.
AKS kümesinin adı. Azure Yönetilen Kümesi belirtin.
useClusterAdmin
-
Küme yöneticisi kimlik bilgilerini kullanma
boolean
. Opsiyonel.
connectionType = Azure Resource Manager && command != logout && command != package && command != save
olduğunda kullanın. Varsayılan değer: false
.
Varsayılan küme kullanıcı kimlik bilgileri yerine küme yöneticisi kimlik bilgilerini kullanır.
useClusterAdmin
-
Küme yöneticisi kimlik bilgilerini kullanma
boolean
. Opsiyonel.
connectionType = Azure Resource Manager && command != logout && command != package
olduğunda kullanın. Varsayılan değer: false
.
Varsayılan küme kullanıcı kimlik bilgileri yerine küme yöneticisi kimlik bilgilerini kullanır.
Kubernetes Service ConnectionkubernetesServiceConnection
-
Giriş diğer adı: kubernetesServiceEndpoint
.
string
.
connectionType = Kubernetes Service Connection && command != logout && command != package && command != save
gerekir.
Bir Kubernetes Hizmet Bağlantısı belirtir.
Kubernetes Service ConnectionkubernetesServiceConnection
-
Giriş diğer adı: kubernetesServiceEndpoint
.
string
.
connectionType = Kubernetes Service Connection && command != logout && command != package
gerekir.
Bir Kubernetes Hizmet Bağlantısı belirtir.
ad alanınamespace
-
string
. Opsiyonel.
command != logout && command != package && command != save
olduğunda kullanın.
kubectl
komutlarını çalıştırdığınız ad alanı. Belirtilmezse, görev varsayılan ad alanını kullanır. Kullanılacak Kubernetes ad alanını belirtin. Tiller ad alanını görevin gelişmiş bölümünde veya --tiller-namespace
seçeneğini bağımsız değişken olarak geçirerek belirtebilirsiniz.
ad alanınamespace
-
string
. Opsiyonel.
command != logout && command != package
olduğunda kullanın.
kubectl
komutlarını çalıştırdığınız ad alanı. Belirtilmezse, görev varsayılan ad alanını kullanır. Kullanılacak Kubernetes ad alanını belirtin. Tiller ad alanını görevin gelişmiş bölümünde veya --tiller-namespace
seçeneğini bağımsız değişken olarak geçirerek belirtebilirsiniz.
Container Registryiçin Azure aboneliğini azureSubscriptionForACR
-
Giriş diğer adı: azureSubscriptionEndpointForACR
.
string
.
command == save
gerekir.
Azure Container Registry'nizin olduğu bir Azure aboneliği belirtir.
kaynak grubu
string
.
command == save
gerekir.
Container Registry'nizin olduğu bir Azure Kaynak Grubu belirtir.
Azure Container RegistryazureContainerRegistry
-
string
.
command == save
gerekir.
Helm grafiklerini göndermek için kullanılacak bir Azure Container Registry belirtir.
command
-
Komut
string
. Gerekli. İzin verilen değerler: create
, delete
, expose
, get
, init
, install
, login
, logout
, ls
, package
, rollback
, save
, upgrade
, uninstall
. Varsayılan değer: ls
.
Helm komutunu belirtir.
command
-
Komut
string
. Gerekli. İzin verilen değerler: create
, delete
, expose
, get
, init
, install
, login
, logout
, ls
, package
, rollback
, save
, upgrade
. Varsayılan değer: ls
.
Helm komutunu belirtir.
command
-
Komut
string
. Gerekli. İzin verilen değerler: create
, delete
, expose
, get
, init
, install
, login
, logout
, ls
, package
, rollback
, upgrade
. Varsayılan değer: ls
.
Helm komutunu belirtir.
chartType
-
Grafik Türü
string
.
command == install || command == upgrade
gerekir. İzin verilen değerler: Name
, FilePath
(Dosya Yolu). Varsayılan değer: Name
.
Grafik bilgilerini nasıl girmek istediğinizi belirtir. Grafiğin adını veya grafiğe klasör/dosya yolu sağlayabilirsiniz.
chartName
-
Grafik Adı
string
.
chartType == Name
gerekir.
Yüklenecek grafik başvurusunun adı. Bu bir URL veya grafik adı olabilir. Örneğin, grafik adı stable/mysql
ise, görev helm install stable/mysql
çalışır.
chartPath
-
Grafik Yolu
string
.
chartType == FilePath || command == package
gerekir.
Yüklenecek grafiğin yolu. Bu, paketlenmiş bir grafiğin yolu veya paketlenmemiş grafik dizinine giden yol olabilir. Örneğin, ./redis
belirtirseniz, görev helm install ./redis
çalışır. Yapıt olarak yayımlanan bir grafiği kullanıyorsanız yol $(System.DefaultWorkingDirectory)/ARTIFACT-NAME/Charts/CHART-NAME
olur.
chartVersion
-
Sürüm
Giriş diğer adı: version
.
string
. Opsiyonel.
command == package || command == install || command == upgrade
olduğunda kullanın.
Yüklenecek tam grafik sürümünü belirtir. Grafik sürümünü belirtmezseniz, görev en son sürümü yükler. Grafikteki sürümü bu semver sürümüne ayarlayın.
chartVersion
-
Sürüm
Giriş diğer adı: version
.
string
. Opsiyonel.
command == package
olduğunda kullanın.
Yüklenecek tam grafik sürümünü belirtir. Grafik sürümünü belirtmezseniz, görev en son sürümü yükler. Grafikteki sürümü bu semver sürümüne ayarlayın.
releaseName
-
Yayın Adı
string
. Opsiyonel.
command == install || command == upgrade
olduğunda kullanın.
Yayın adı. Yayın adını belirtmezseniz, görev sizin için otomatik olarak bir tane oluşturur.
releaseName
girişi yalnızca install
ve upgrade
komutları için geçerlidir.
overrideValues
-
Değer Ayarlama
string
. Opsiyonel.
command == install || command == upgrade
olduğunda kullanın.
Komut satırındaki değerleri belirtir. Bu giriş virgülle birden çok veya ayrı değer belirtebilir: key1=val1,key2=val2
.
Birden çok değeri, aşağıdaki gibi yeni bir satırla sınırlandırarak da belirtebilirsiniz:
- anahtar1=değer1
- anahtar2=değer2
Yeni satırlar içeren bir değeriniz varsa valueFile
seçeneğini kullanın. Aksi takdirde, görev yeni satırı sınırlayıcı olarak ele alır. Görev, helm komutunu bu küme değerlerini kullanarak oluşturur. Örneğin, değerini aşağıdaki gibi bir komut kullanarak ayarlayabilirsiniz: helm install --set key1=val1 ./redis
.
valueFile
-
Değer Dosyası
string
. Opsiyonel.
command == install || command == upgrade
olduğunda kullanın.
YAML dosyasındaki veya URL'deki değerleri belirtir. Örneğin, myvalues.yaml
belirtilmesi helm install --values=myvals.yaml
sonucunu döndürür.
hedefdestination
-
string
. Opsiyonel.
command == package
olduğunda kullanın. Varsayılan değer: $(Build.ArtifactStagingDirectory)
.
YAML dosyasındaki veya URL'deki değerleri belirtir.
canaryimage
-
Kanarya görüntüsü sürümünü kullanın.
boolean
. Opsiyonel.
command == init
olduğunda kullanın. Varsayılan değer: false
.
Kanarya Tiller görüntüsünü belirtir. Tiller'ın en son yayın öncesi sürümünü kullanın.
Tiller'upgradetiller
- Yükseltme
boolean
. Opsiyonel.
command == init
olduğunda kullanın. Varsayılan değer: true
.
true
ise Tiller zaten yüklüyse bu giriş Tiller'ı yükselter.
Bağımlılıkgüncelleştirme updatedependency
-
boolean
. Opsiyonel.
command == install || command == package
olduğunda kullanın. Varsayılan değer: false
.
true
ise, bu giriş grafiği yüklemeden önce helm bağımlılık güncelleştirmesini güncelleştirir. Bağımlılıkları paketlemeden önce requirements.yaml
charts/
dizinine güncelleştirir.
save
-
Kaydet
boolean
. Opsiyonel.
command == package
olduğunda kullanın. Varsayılan değer: true
.
true
olarak ayarlandığında paketlenmiş grafiği yerel grafik deposuna kaydeder.
install
-
Sürüm yoksa yükle'yi seçin.
boolean
. Opsiyonel.
command == upgrade
olduğunda kullanın. Varsayılan değer: true
.
Bu ada sahip bir sürüm henüz yoksa, bu giriş bir yükleme çalıştırır.
recreate
-
Podları yeniden oluşturun.
boolean
. Opsiyonel.
command == upgrade
olduğunda kullanın. Varsayılan değer: false
.
Varsa, kaynak için podları yeniden başlatır.
Değerleri Sıfırla'yı resetValues
- .
boolean
. Opsiyonel.
command == upgrade
olduğunda kullanın. Varsayılan değer: false
.
Değerleri grafikte yerleşik olarak bulunan değerlere sıfırlar.
force
-
Zorlama
boolean
. Opsiyonel.
command == upgrade
olduğunda kullanın. Varsayılan değer: false
.
Gerekirse bir silme veya yeniden oluşturma eylemi aracılığıyla kaynak güncelleştirmesini zorlar.
waitForExecution
-
Bekle
boolean
. Opsiyonel.
command == init || command == install || command == upgrade
olduğunda kullanın. Varsayılan değer: true
.
Komut yürütme tamamlanana kadar eylemi engeller.
bağımsız değişkenleriarguments
-
string
. Opsiyonel.
command != login && command != logout
olduğunda kullanın.
Helm komut seçenekleri.
TLSetkinleştirmeyi enableTls
-
boolean
. Opsiyonel.
command != login && command != logout && command != package && command != save
olduğunda kullanın. Varsayılan değer: false
.
Helm ve Tiller arasında SSL kullanılmasını sağlar.
TLSetkinleştirmeyi enableTls
-
boolean
. Opsiyonel.
command != login && command != logout && command != package
olduğunda kullanın. Varsayılan değer: false
.
Helm ve Tiller arasında SSL kullanılmasını sağlar.
CA sertifikasıcaCert
-
string
.
enableTls == true && command != login && command != logout && command != package && command != save
gerekir.
Tiller ve Helm istemcisi için sertifika vermek için kullanılan CA sertifikası.
CA sertifikasıcaCert
-
string
.
enableTls == true && command != login && command != logout && command != package
gerekir.
Tiller ve Helm istemcisi için sertifika vermek için kullanılan CA sertifikası.
sertifikacertificate
-
string
.
enableTls == true && command != login && command != logout && command != package && command != save
gerekir.
Tiller sertifikasını veya Helm istemci sertifikasını belirtin.
sertifikacertificate
-
string
.
enableTls == true && command != login && command != logout && command != package
gerekir.
Tiller sertifikasını veya Helm istemci sertifikasını belirtin.
privatekey
-
Anahtar
string
.
enableTls == true && command != login && command != logout && command != package && command != save
gerekir.
Tiller anahtarını veya Helm istemci anahtarını belirtin.
privatekey
-
Anahtar
string
.
enableTls == true && command != login && command != logout && command != package
gerekir.
Tiller anahtarını veya Helm istemci anahtarını belirtin.
tillernamespace
-
Tiller ad alanı
string
. Opsiyonel.
command != login && command != logout && command != package && command != save
olduğunda kullanın.
Tiller'ın Kubernetes ad alanını belirtin.
tillernamespace
-
Tiller ad alanı
string
. Opsiyonel.
command != login && command != logout && command != package
olduğunda kullanın.
Tiller'ın Kubernetes ad alanını belirtin.
standart hatabaşarısız failOnStderr
-
boolean
. Opsiyonel.
command != login && command != logout && command != package && command != save
olduğunda kullanın. Varsayılan değer: false
.
Bu giriş true
ise, hata işlem hattına herhangi bir hata yazılırsa veya Standart Hata akışına veri yazılırsa bu görev başarısız olur. Aksi takdirde, görev hata belirlemek için çıkış koduna dayanır.
standart hatabaşarısız failOnStderr
-
boolean
. Opsiyonel.
command != login && command != logout && command != package
olduğunda kullanın. Varsayılan değer: true
.
Bu giriş true
ise, hata işlem hattına herhangi bir hata yazılırsa veya Standart Hata akışına veri yazılırsa bu görev başarısız olur. Aksi takdirde, görev hata belirlemek için çıkış koduna dayanır.
publishPipelineMetadata
-
İşlem hattı meta verilerini yayımlama
boolean
. Opsiyonel.
command != login && command != logout && command != package && command != save
olduğunda kullanın. Varsayılan değer: true
.
Bu giriş true
ise, görev dağıtım meta verilerini toplar ve yayımlar.
Azure Container Registryiçin chartNameForACR
- Grafik Adı
string
.
command == save
gerekir.
Azure Container Registry'deki grafiğin adı.
Azure Container Registryiçin chartPathForACR
- Grafik Yolu
string
.
command == save
gerekir.
Azure Container Registry'deki grafik dizininin dosya yolu.
Görev denetimi seçenekleri
Tüm görevlerin, görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz. Denetim seçenekleri ve ortak görev özellikleri.
Çıkış değişkenleri
Bu görev aşağıdakiçıkış değişkenlerini tanımlar. Bu değişkenleri aşağı akış adımlarında, işlerde ve aşamalarda kullanabilirsiniz.
helmExitCode
Belirtilen Helm komutunun yürütülmesinden yayılan çıkış kodu.
helmOutput
Belirtilen Helm komutunun yürütülmesinden yayılan çıkış.
Açıklamalar
Helm komutlarını çalıştırarak Azure Container Service'te kubernetes kümesini dağıtmak, yapılandırmak veya güncelleştirmek için HelmDeploy@0 kullanın. Helm, Kubernetes uygulamalarının dağıtımını ve yönetimini grafikler olarak adlandırılan bir paketleme biçimi kullanarak kolaylaştıran bir araçtır.
Helm kullanarak en karmaşık Kubernetes uygulamasını bile tanımlayabilir, sürüm oluşturabilir, paylaşabilir, yükleyebilir ve yükseltebilirsiniz.
- Helm, hizmet, dağıtımlar, yapılandırma haritaları ve daha fazlası gibi birden çok Kubernetes bildirimini (yaml) Helm Charts adlı tek bir ünitede birleştirmenize yardımcı olur. Belirteç oluşturma veya kullanma ya da şablon oluşturma aracı kullanmanız gerekmez.
- Helm Charts, uygulama bağımlılıklarını yönetmenize ve dağıtmanın yanı sıra birim olarak geri alma işlemine yardımcı olur. Ayrıca oluşturması, sürüm oluşturması, yayımlaması ve diğer iş ortağı ekipleriyle paylaşması da kolaydır.
Azure Pipelines, Helm grafikleri için yerleşik desteğe sahiptir:
- Helm Aracı yükleyicisi görev aracılara doğru Helm sürümünü yüklemek için kullanılabilir.
- Helm paketi ve dağıtma görevi, uygulamayı paketlemek ve bir Kubernetes kümesine dağıtmak için kullanılabilir. Tiller'ı bir Kubernetes ad alanına yüklemek veya güncelleştirmek, grafikleri dağıtmak üzere TLS üzerinden Tiller'a güvenli bir şekilde bağlanmak veya lintgibi herhangi bir Helm komutunu çalıştırmak için kullanabilirsiniz.
- Helm görevi, Azure hizmet bağlantısı kullanarak Azure Kubernetes Service'e bağlanmayı destekler. kubeconfig veya bir hizmet hesabı kullanarak herhangi bir Kubernetes kümesine bağlanabilirsiniz.
- Helm dağıtımları Kubectl görevi kullanılarak tamamlanabilir; örneğin create/update, imagepullsecret ve diğerleri.
Hizmet bağlantısı
HelmDeploy@0 iki hizmet bağlantısı türüyle çalışır: Azure Resource Manager ve Kubernetes Service Connection. Bu iki bağlantı türünü yapılandırma örnekleri için bkz. Örnekler.
Uyarı
Kubernetes kümesine işaret eden bir ortam kaynağı işlem hattının aşamasında zaten belirtilmişse hizmet bağlantısı gerekmez.
AKS'ye erişirken Kubernetes Hizmet Bağlantısı ile ilgili dikkat edilmesi gerekenler
Aşağıdaki seçeneklerden herhangi biriyle bir Kubernetes hizmet bağlantısı oluşturabilirsiniz.
- KubeConfig (İngilizce)
- Hizmet Hesabı
- Azure Aboneliği
Azure Aboneliği seçeneğini belirlediğinizde Kubernetes'e hizmet bağlantısı yapılandırma zamanında Azure DevOps tarafından erişilebilir olması gerekir. Hizmet bağlantısının oluşturulamamasının çeşitli nedenleri olabilir, örneğin özel bir küme veya kümede devre dışı bırakılmışyerel hesapları olabilir. Bu gibi durumlarda Azure DevOps, hizmet bağlantısı yapılandırma zamanında kümenize bağlanamaz ve ad alanlarını yükleme ekranı takılmış bir görüntü görürsünüz.
Kubernetes 1.24'den başlayarak, uzun ömürlü belirteçler artık varsayılan olarak oluşturulmaz. Kubernetes, uzun ömürlü belirteçler kullanmamanızı önerir. Sonuç olarak, Azure Aboneliği seçeneğiyle oluşturulan bir Kubernetes hizmet bağlantısı kullanan görevlerin kimlik doğrulaması için gereken kalıcı belirteç erişimi yoktur ve Kubernetes kümenize erişemez. Bu, donmuş Ad alanlarını yükleme iletişim kutusuna da neden olur.
AKS'ye erişmek için Azure Resource Manager Hizmet Bağlantısı'nı kullanma
AKS müşterileri için Azure Resource Manager hizmet bağlantı türü, özel bir kümeye veya yerel hesapları devre dışı bırakılmış bir kümeye bağlanmak için en iyi yöntemi sağlar. Bu yöntem, hizmet bağlantısı oluşturduğunuzda küme bağlantısına bağımlı değildir. AKS'ye erişim, aşağıdaki avantajlara sahip işlem hattı çalışma zamanına ertelenmiştir:
- Bir (özel) AKS kümesine erişim, kümeye görüş çizgisi olan şirket içinde barındırılan veya ölçek kümesi aracısından gerçekleştirilebilir.
- Azure Resource Manager hizmet bağlantısı kullanan her görev için bir belirteç oluşturulur. Bu, kubernetes'e kısa ömürlü bir belirteçle bağlanmanızı sağlar. Bu, kubernetes önerisi.
- Yerel hesaplar devre dışı bırakıldığında bile AKS'ye erişilebilir.
Hizmet bağlantısı hakkında SSS
Şu hata iletisini alıyorum: Hizmet hesabıyla ilişkili gizli dizi bulunamadı. Ne oluyor?
Azure Aboneliği ile Kubernetes hizmet bağlantısını kullanıyorsunuz. Uzun ömürlü belirteçler oluşturmak için bu yöntemi güncelleştiriyoruz. Bu özelliğin Mayıs ortasında kullanıma sunulması beklenmektedir. Ancak, Azure hizmet bağlantı türünü kullanmaya başlamanız ve Kubernetes kılavuzugöre uzun ömürlü belirteçler kullanmamanızı öneririz.
AKS kullanıyorum ve hiçbir şeyi değiştirmek istemiyorum, Kubernetes hizmet bağlantısıyla görevleri kullanmaya devam edebilir miyim?
Uzun ömürlü belirteçler oluşturmak için bu yöntemi güncelleştiriyoruz. Bu özelliğin Mayıs ortasında kullanıma sunulması beklenmektedir. Ancak, bu yaklaşımın Kubernetes kılavuzukarşı olduğunu unutmayın.
Kubernetes görevlerini ve Kubernetes hizmet bağlantısını kullanıyorum ancak AKS'yi kullanmıyorum. Endişelenmeli miyim?
Görevleriniz daha önce olduğu gibi çalışmaya devam edecektir.
Kubernetes hizmeti bağlantı türü kaldırılacak mı?
Kubernetes görevlerimiz, nerede çalıştıklarından bağımsız olarak tüm Kubernetes kümeleriyle çalışır. Kubernetes hizmet bağlantısı varolmaya devam edecektir.
Aks müşterisiyim ve her şey yolunda, harekete geçsem mi?
Hiçbir şeyi değiştirmeye gerek yok. Oluşturma sırasında Kubernetes hizmet bağlantısını kullanıyorsanız ve Azure Aboneliği'ni seçtiyseniz, uzun ömürlü belirteçleri kullanmayla ilgiliKubernetes kılavuzuna dikkat etmeniz gerekir.
Kubernetes Ortamı oluşturuyorum ve hizmet bağlantılarını kullanma seçeneğim yok
Ortam oluşturma sırasında AKS'nize erişemiyorsanız boş bir ortam kullanabilir ve connectionType
girişini bir Azure Resource Manager hizmet bağlantısına ayarlayabilirsiniz.
AKS'yi Azure Active Directory RBAC ile yapılandırdım ve işlem hattım çalışmıyor. Bu güncelleştirmeler bu sorunu çözecek mi?
AAD RBAC etkinleştirildiğinde Kubernetes'e erişmenin belirteç oluşturmayla ilgisi yok. Etkileşimli istemleri önlemek için, gelecekteki bir güncelleştirmede kubelogin destekleyeceğiz.
Komut değerleri
Komut girişi şu helm komutlarından birini kabul: create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade. Örnekler Örnekler bölümünde verilmiştir.
Her komut girişi bir dizi görev girişiyle eşler. Bir görev girişine eşleyen komutlar YAML söz dizimi bloğunda ve görev girişleri tablosunda belirlenir
Sorun giderme
HelmDeploy görevi Helm 3.0.2 sürümünde 'helm init --wait --client-only' çalıştırırken 'bilinmeyen bayrak: --wait' hatası oluşturur.
Helm 2 ile Helm 3 arasında bazı hataya neden olan değişiklikler vardır. Bunlardan biri, tiller'ın kaldırılmasını içerir ve bu nedenle helm init
komutu artık desteklenmez. Kaldır komutu: Helm 3.0+ sürümlerini kullandığınızda init.
Helm 3 kullanılırken System.debug true olarak ayarlanırsa ve Helm yükseltmesi kullanılmakta olan komutsa, yükseltme başarılı olsa bile işlem hattı başarısız olur.
Bu Helm 3 ile ilgili bilinen bir sorundur ve stderr'a bazı günlükler yazar. Stderr günlükleri varsa veya çıkış kodu sıfır değilse Helm Dağıtım Görevi başarısız olarak işaretlenir. stderr'a yazdırılan günlükleri yoksaymak için görev girişi failOnStderr: false değerini ayarlayın.
Örnekler
Azure Resource Manager
Bu YAML örneği, Azure Resource Manager'ın Kubernetes kümesine başvurmak için nasıl kullanıldığını gösterir. Bu, helm komutlarından biri ve komut için gereken uygun değerlerle kullanılır:
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 Hizmet Bağlantısı
Bu YAML örneği, Kubernetes kümesine başvurmak için Kubernetes hizmet bağlantısının nasıl kullanıldığını gösterir. Bu, helm komutlarından biri ve komut için gereken uygun değerlerle kullanılır:
- task: HelmDeploy@0
displayName: Helm deploy
inputs:
connectionType: Kubernetes Service Connection
kubernetesServiceEndpoint: Contoso
Komutlar
Komut girişi şu helm komutlarından birini kabul: create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade.
Bu YAML örneği, ls komutunu gösterir:
- task: HelmDeploy@0
displayName: Helm list
inputs:
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
command: ls
arguments: --all
init komutu
Bu YAML örneği, init komutunu gösterir:
- task: HelmDeploy@0
displayName: Helm init
inputs:
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
command: init
upgradetiller: true
waitForExecution: true
arguments: --client-only
install komutu
Bu YAML örneği yükleme komutunu gösterir:
- task: HelmDeploy@0
displayName: Helm install
inputs:
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
command: install
chartType: FilePath
chartPath: Application/charts/sampleapp
package komutu
Bu YAML örneği, paket komutunu gösterir:
- task: HelmDeploy@0
displayName: Helm package
inputs:
command: package
chartPath: Application/charts/sampleapp
destination: $(Build.ArtifactStagingDirectory)
upgrade komutu
Bu YAML örneği, yükseltme komutunu gösterir:
- 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
kaydet komutu
Bu YAML örneği, kaydet komutunu gösterir:
- 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 grafiklerini paketleme ve imzalama
Bu bölümde helm grafiklerini bir işlem hattında paketlemeyi ve imzalamayı öğreneceksiniz.
GPG kullanarak helm grafiğini imzalamak için özel-ortak anahtar çifti oluşturma
Komut istemini yönetici modunda başlatın. Gpg kullanarak helm grafiğini imzalamak üzere bir özel-ortak anahtar çifti oluşturmak için aşağıdaki komutu çalıştırın. Anahtarı oluştururken kullanıcı adı ve e-posta adresi istenir. "e-posta adresini adlandır" daha sonra oluşturulan özel-ortak anahtar çiftini adlandırmak için kullanılır.
gpg --full-generate-key
anahtar
Generate Keyoluşturma
Sizden parola istenir. Değeri verin ve Tamam'a tıklayın.
Anahtarı oluşturduktan sonra, aşağıdaki komutu kullanarak hem özel hem de genel anahtarlar içeren anahtarların listesini görebilirsiniz.
Özel anahtarların listesini görmek için
gpg --list-secret-keys
Özel Anahtarlar
Private Keys
Ortak anahtarların listesini görmek için
gpg --list-keys
Ortak Anahtarlar
Public Keys
Özel ve ortak anahtarları aşağıda gösterildiği gibi gpg uzantısıyla 2 farklı dosyada depolayın.
- Özel anahtar için
gpg --export-secret-key AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00 contoso@microsoft.com > C:/somepath/privatekeys.gpg
privatekeys.gpg dosyasının yukarıda bahsedilen yola dışarı aktarıldığını göreceksiniz.
- Ortak anahtar için
gpg --export-key AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00 contoso@microsoft.com > C:/somepath/publickey.gpg
publickey.gpg dosyasının yukarıda bahsedilen yola dışarı aktarıldığını göreceksiniz.
Azure DevOps'ta privatekey.gpg dosyasını kitaplık güvenli dosyalar bölümüne kaydedin.
Örnek
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)
Gereksinimler
Gereksinim | Açıklama |
---|---|
İşlem hattı türleri | YAML, Klasik derleme, Klasik sürüm |
Üzerinde çalışır | Agent, DeploymentGroup |
Talepleri | Hiç kimse |
Özellikleri | Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz. |
Komut kısıtlamaları | Herhangi bir |
Ayarlanabilir değişkenleri | Herhangi bir |
Aracı sürümü | Desteklenen tüm aracı sürümleri. |
Görev kategorisi | Uygulamak |