Aracılığıyla paylaş


HelmDeploy@0 - Helm grafikleri v0 görevini paketleme ve dağıtma

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 != savegerekir. İ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çin kubeconfig 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çin Azure 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 != packagegerekir. İ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çin kubeconfig 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çin Azure 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 != savegerekir.

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 != packagegerekir.

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 != savegerekir.

Abonelik içindeki kaynak grubunun adı. Bir Azure Kaynak Grubu belirtin.


kaynak grubu
string. connectionType = Azure Resource Manager && command != logout && command != packagegerekir.

Abonelik içindeki kaynak grubunun adı. Bir Azure Kaynak Grubu belirtin.


Kubernetes kümesikubernetesCluster -
string. connectionType = Azure Resource Manager && command != logout && command != package && command != savegerekir.

AKS kümesinin adı. Azure Yönetilen Kümesi belirtin.


Kubernetes kümesikubernetesCluster -
string. connectionType = Azure Resource Manager && command != logout && command != packagegerekir.

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 != saveolduğ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 != packageolduğ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 != savegerekir.

Bir Kubernetes Hizmet Bağlantısı belirtir.


Kubernetes Service ConnectionkubernetesServiceConnection -
Giriş diğer adı: kubernetesServiceEndpoint. string. connectionType = Kubernetes Service Connection && command != logout && command != packagegerekir.

Bir Kubernetes Hizmet Bağlantısı belirtir.


ad alanınamespace -
string. Opsiyonel. command != logout && command != package && command != saveolduğ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 != packageolduğ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 == savegerekir.

Azure Container Registry'nizin olduğu bir Azure aboneliği belirtir.


kaynak grubu
string. command == savegerekir.

Container Registry'nizin olduğu bir Azure Kaynak Grubu belirtir.


Azure Container RegistryazureContainerRegistry -
string. command == savegerekir.

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 == upgradegerekir. İ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 == Namegerekir.

Yüklenecek grafik başvurusunun adı. Bu bir URL veya grafik adı olabilir. Örneğin, grafik adı stable/mysqlise, görev helm install stable/mysqlçalışır.


chartPath - Grafik Yolu
string. chartType == FilePath || command == packagegerekir.

Yüklenecek grafiğin yolu. Bu, paketlenmiş bir grafiğin yolu veya paketlenmemiş grafik dizinine giden yol olabilir. Örneğin, ./redisbelirtirseniz, 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-NAMEolur.


chartVersion - Sürüm
Giriş diğer adı: version. string. Opsiyonel. command == package || command == install || command == upgradeolduğ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 == packageolduğ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 == upgradeolduğ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 == upgradeolduğ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 == upgradeolduğunda kullanın.

YAML dosyasındaki veya URL'deki değerleri belirtir. Örneğin, myvalues.yaml belirtilmesi helm install --values=myvals.yamlsonucunu döndürür.


hedefdestination -
string. Opsiyonel. command == packageolduğ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 == initolduğ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 == initolduğunda kullanın. Varsayılan değer: true.

trueise Tiller zaten yüklüyse bu giriş Tiller'ı yükselter.


Bağımlılıkgüncelleştirme updatedependency -
boolean. Opsiyonel. command == install || command == packageolduğunda kullanın. Varsayılan değer: false.

trueise, 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.yamlcharts/ dizinine güncelleştirir.


save - Kaydet
boolean. Opsiyonel. command == packageolduğ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 == upgradeolduğ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 == upgradeolduğ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 == upgradeolduğ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 == upgradeolduğ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 == upgradeolduğ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 != logoutolduğunda kullanın.

Helm komut seçenekleri.


TLSetkinleştirmeyi enableTls -
boolean. Opsiyonel. command != login && command != logout && command != package && command != saveolduğ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 != packageolduğ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 != savegerekir.

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 != packagegerekir.

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 != savegerekir.

Tiller sertifikasını veya Helm istemci sertifikasını belirtin.


sertifikacertificate -
string. enableTls == true && command != login && command != logout && command != packagegerekir.

Tiller sertifikasını veya Helm istemci sertifikasını belirtin.


privatekey - Anahtar
string. enableTls == true && command != login && command != logout && command != package && command != savegerekir.

Tiller anahtarını veya Helm istemci anahtarını belirtin.


privatekey - Anahtar
string. enableTls == true && command != login && command != logout && command != packagegerekir.

Tiller anahtarını veya Helm istemci anahtarını belirtin.


tillernamespace - Tiller ad alanı
string. Opsiyonel. command != login && command != logout && command != package && command != saveolduğunda kullanın.

Tiller'ın Kubernetes ad alanını belirtin.


tillernamespace - Tiller ad alanı
string. Opsiyonel. command != login && command != logout && command != packageolduğ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 != saveolduğunda kullanın. Varsayılan değer: false.

Bu giriş trueise, 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 != packageolduğunda kullanın. Varsayılan değer: true.

Bu giriş trueise, 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 != saveolduğunda kullanın. Varsayılan değer: true.

Bu giriş trueise, görev dağıtım meta verilerini toplar ve yayımlar.


Azure Container Registryiçin chartNameForACR - Grafik Adı
string. command == savegerekir.

Azure Container Registry'deki grafiğin adı.


Azure Container Registryiçin chartPathForACR - Grafik Yolu
string. command == savegerekir.

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

Kubernetes hizmet bağlantısı kimlik doğrulama yöntemini seçme ekran görüntüsü.

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 hizmet bağlantısı kimlik doğrulaması iletişim kutusu seçmenin ekran görüntüsü ad alanları yüklenirken takıldı.

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

  1. gpg indirin.

  2. 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
    

    anahtarGenerate KeyGenerate Keyoluşturma

  3. Sizden parola istenir. Değeri verin ve Tamam'a tıklayın.

    Parolayı vermeyi gösteren ekran görüntüsü.

  4. 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 AnahtarlarPrivate KeysPrivate Keys

    • Ortak anahtarların listesini görmek için

      gpg --list-keys
      

      Ortak AnahtarlarPublic KeysPublic Keys

  5. Ö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