Aracılığıyla paylaş


Kubernetes@1 - Kubectl v1 görevi

kubectl komutlarını çalıştırarak Azure Container Service'te bir Kubernetes kümesini dağıtın, yapılandırın, güncelleştirin.

kubectl komutlarını çalıştırarak Azure Container Service'te Kubernetes kümenizi dağıtın, yapılandırın, güncelleştirin.

Syntax

# Kubectl v1
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands.
- task: Kubernetes@1
  inputs:
  # Kubernetes Cluster
    #connectionType: 'Kubernetes Service Connection' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout. Service connection type. Default: Kubernetes Service Connection.
    #kubernetesServiceEndpoint: # string. Required when connectionType = Kubernetes Service Connection && command != logout. Kubernetes service connection. 
    #azureSubscriptionEndpoint: # string. Required when connectionType = Azure Resource Manager && command != logout. Azure subscription. 
    #azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout. Resource group. 
    #kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout. Kubernetes cluster. 
    #useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout. Use cluster admin credentials. Default: false.
    #namespace: # string. Optional. Use when command != logout. Namespace. 
  # Commands
    #command: # 'apply' | 'create' | 'delete' | 'exec' | 'expose' | 'get' | 'login' | 'logout' | 'logs' | 'run' | 'set' | 'top'. Command. 
    #useConfigurationFile: false # boolean. Optional. Use when command != login && command != logout. Use configuration. Default: false.
    #configurationType: 'configuration' # 'configuration' | 'inline'. Optional. Use when useConfigurationFile = true. Configuration type. Default: configuration.
    configuration: # string. Required when configurationType = configuration. File path. 
    #inline: # string. Required when configurationType = inline. Inline configuration. 
    #arguments: # string. Optional. Use when command != login && command != logout. Arguments. 
  # Secrets
    #secretType: 'dockerRegistry' # 'dockerRegistry' | 'generic'. Required when command != login && command != logout. Type of secret. Default: dockerRegistry.
    #secretArguments: # string. Optional. Use when secretType = generic && command != login && command != logout. Arguments. 
    #containerRegistryType: 'Azure Container Registry' # 'Azure Container Registry' | 'Container Registry'. Required when secretType = dockerRegistry && command != login && command != logout. Container registry type. Default: Azure Container Registry.
    #dockerRegistryEndpoint: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout. Docker registry service connection. 
    #azureSubscriptionEndpointForSecrets: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure subscription. 
    #azureContainerRegistry: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure container registry. 
    #secretName: # string. Optional. Use when command != login && command != logout. Secret name. 
    #forceUpdate: true # boolean. Optional. Use when command != login && command != logout. Force update secret. Default: true.
  # ConfigMaps
    #configMapName: # string. Optional. Use when command != login && command != logout. ConfigMap name. 
    #forceUpdateConfigMap: false # boolean. Optional. Use when command != login && command != logout. Force update configmap. Default: false.
    #useConfigMapFile: false # boolean. Optional. Use when command != login && command != logout. Use file. Default: false.
    #configMapFile: # string. Required when useConfigMapFile = true && command != login && command != logout. ConfigMap file. 
    #configMapArguments: # string. Optional. Use when useConfigMapFile = false && command != login && command != logout. Arguments. 
  # Advanced
    #versionOrLocation: 'version' # 'version' | 'location'. Kubectl. Default: version.
    #versionSpec: '1.13.2' # string. Optional. Use when versionOrLocation = version. Version spec. Default: 1.13.2.
    #checkLatest: false # boolean. Optional. Use when versionOrLocation = version. Check for latest version. Default: false.
    #specifyLocation: # string. Required when versionOrLocation = location. Path to kubectl. 
    #workingDirectory: '$(System.DefaultWorkingDirectory)' # string. Alias: cwd. Working directory. Default: $(System.DefaultWorkingDirectory).
    #outputFormat: 'json' # 'json' | 'yaml' | 'none'. Output format. Default: json.
# Kubectl v1
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands.
- task: Kubernetes@1
  inputs:
  # Kubernetes Cluster
    #connectionType: 'Kubernetes Service Connection' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout. Service connection type. Default: Kubernetes Service Connection.
    #kubernetesServiceEndpoint: # string. Required when connectionType = Kubernetes Service Connection && command != logout. Kubernetes service connection. 
    #azureSubscriptionEndpoint: # string. Required when connectionType = Azure Resource Manager && command != logout. Azure subscription. 
    #azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout. Resource group. 
    #kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout. Kubernetes cluster. 
    #useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout. Use cluster admin credentials. Default: false.
    #namespace: # string. Optional. Use when command != logout. Namespace. 
  # Commands
    #command: # 'apply' | 'create' | 'delete' | 'exec' | 'expose' | 'get' | 'login' | 'logout' | 'logs' | 'run' | 'set' | 'top'. Command. 
    #useConfigurationFile: false # boolean. Optional. Use when command != login && command != logout. Use configuration. Default: false.
    #configurationType: 'configuration' # 'configuration' | 'inline'. Optional. Use when useConfigurationFile = true. Configuration type. Default: configuration.
    configuration: # string. Required when configurationType = configuration. File path. 
    #inline: # string. Required when configurationType = inline. Inline configuration. 
    #arguments: # string. Optional. Use when command != login && command != logout. Arguments. 
  # Secrets
    #secretType: 'dockerRegistry' # 'dockerRegistry' | 'generic'. Required when command != login && command != logout. Type of secret. Default: dockerRegistry.
    #secretArguments: # string. Optional. Use when secretType = generic && command != login && command != logout. Arguments. 
    #containerRegistryType: 'Azure Container Registry' # 'Azure Container Registry' | 'Container Registry'. Required when secretType = dockerRegistry && command != login && command != logout. Container registry type. Default: Azure Container Registry.
    #dockerRegistryEndpoint: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout. Docker registry service connection. 
    #azureSubscriptionEndpointForSecrets: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure subscription. 
    #azureContainerRegistry: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure container registry. 
    #secretName: # string. Optional. Use when command != login && command != logout. Secret name. 
    #forceUpdate: true # boolean. Optional. Use when command != login && command != logout. Force update secret. Default: true.
  # ConfigMaps
    #configMapName: # string. Optional. Use when command != login && command != logout. ConfigMap name. 
    #forceUpdateConfigMap: false # boolean. Optional. Use when command != login && command != logout. Force update configmap. Default: false.
    #useConfigMapFile: false # boolean. Optional. Use when command != login && command != logout. Use file. Default: false.
    #configMapFile: # string. Required when useConfigMapFile = true && command != login && command != logout. ConfigMap file. 
    #configMapArguments: # string. Optional. Use when useConfigMapFile = false && command != login && command != logout. Arguments. 
  # Advanced
    #versionOrLocation: 'version' # 'version' | 'location'. Kubectl. Default: version.
    #versionSpec: '1.13.2' # string. Optional. Use when versionOrLocation = version. Version spec. Default: 1.13.2.
    #checkLatest: false # boolean. Optional. Use when versionOrLocation = version. Check for latest version. Default: false.
    #specifyLocation: # string. Required when versionOrLocation = location. Path to kubectl. 
    #workingDirectory: '$(System.DefaultWorkingDirectory)' # string. Alias: cwd. Working directory. Default: $(System.DefaultWorkingDirectory).
    #outputFormat: 'json' # 'json' | 'yaml'. Output format. Default: json.
# Deploy to Kubernetes v1
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands.
- task: Kubernetes@1
  inputs:
  # Kubernetes Cluster
    #connectionType: 'Kubernetes Service Connection' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout. Service connection type. Default: Kubernetes Service Connection.
    #kubernetesServiceEndpoint: # string. Required when connectionType = Kubernetes Service Connection && command != logout. Kubernetes service connection. 
    #azureSubscriptionEndpoint: # string. Required when connectionType = Azure Resource Manager && command != logout. Azure subscription. 
    #azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout. Resource group. 
    #kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout. Kubernetes cluster. 
    #useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout. Use cluster admin credentials. Default: false.
    #namespace: # string. Optional. Use when command != logout. Namespace. 
  # Commands
    #command: # 'apply' | 'create' | 'delete' | 'exec' | 'expose' | 'get' | 'login' | 'logout' | 'logs' | 'run' | 'set' | 'top'. Command. 
    #useConfigurationFile: false # boolean. Optional. Use when command != login && command != logout. Use configuration. Default: false.
    #configurationType: 'configuration' # 'configuration' | 'inline'. Optional. Use when useConfigurationFile = true. Configuration type. Default: configuration.
    configuration: # string. Required when configurationType = configuration. File path. 
    #inline: # string. Required when configurationType = inline. Inline configuration. 
    #arguments: # string. Optional. Use when command != login && command != logout. Arguments. 
  # Secrets
    #secretType: 'dockerRegistry' # 'dockerRegistry' | 'generic'. Required when command != login && command != logout. Type of secret. Default: dockerRegistry.
    #secretArguments: # string. Optional. Use when secretType = generic && command != login && command != logout. Arguments. 
    #containerRegistryType: 'Azure Container Registry' # 'Azure Container Registry' | 'Container Registry'. Required when secretType = dockerRegistry && command != login && command != logout. Container registry type. Default: Azure Container Registry.
    #dockerRegistryEndpoint: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout. Docker registry service connection. 
    #azureSubscriptionEndpointForSecrets: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure subscription. 
    #azureContainerRegistry: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure container registry. 
    #secretName: # string. Optional. Use when command != login && command != logout. Secret name. 
    #forceUpdate: true # boolean. Optional. Use when command != login && command != logout. Force update secret. Default: true.
  # ConfigMaps
    #configMapName: # string. Optional. Use when command != login && command != logout. ConfigMap name. 
    #forceUpdateConfigMap: false # boolean. Optional. Use when command != login && command != logout. Force update configmap. Default: false.
    #useConfigMapFile: false # boolean. Optional. Use when command != login && command != logout. Use file. Default: false.
    #configMapFile: # string. Required when useConfigMapFile = true && command != login && command != logout. ConfigMap file. 
    #configMapArguments: # string. Optional. Use when useConfigMapFile = false && command != login && command != logout. Arguments. 
  # Advanced
    #versionOrLocation: 'version' # 'version' | 'location'. Kubectl. Default: version.
    #versionSpec: '1.13.2' # string. Optional. Use when versionOrLocation = version. Version spec. Default: 1.13.2.
    #checkLatest: false # boolean. Optional. Use when versionOrLocation = version. Check for latest version. Default: false.
    #specifyLocation: # string. Required when versionOrLocation = location. Path to kubectl. 
    #workingDirectory: '$(System.DefaultWorkingDirectory)' # string. Alias: cwd. Working directory. Default: $(System.DefaultWorkingDirectory).
    #outputFormat: 'json' # 'json' | 'yaml'. Output format. Default: json.
# Deploy to Kubernetes v1
# Deploy, configure, update your Kubernetes cluster in Azure Container Service by running kubectl commands.
- task: Kubernetes@1
  inputs:
  # Kubernetes Cluster
    #connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout. Service connection type. Default: Azure Resource Manager.
    #kubernetesServiceEndpoint: # string. Required when connectionType = Kubernetes Service Connection && command != logout. Kubernetes service connection. 
    #azureSubscriptionEndpoint: # string. Required when connectionType = Azure Resource Manager && command != logout. Azure subscription. 
    #azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout. Resource group. 
    #kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout. Kubernetes cluster. 
    #namespace: # string. Optional. Use when command != logout. Namespace. 
  # Commands
    command: 'apply' # 'apply' | 'create' | 'delete' | 'exec' | 'expose' | 'get' | 'login' | 'logout' | 'logs' | 'run' | 'set' | 'top'. Required. Command. Default: apply.
    #useConfigurationFile: false # boolean. Optional. Use when command != login && command != logout. Use configuration files. Default: false.
    #configuration: # string. Required when useConfigurationFile = true. Configuration file. 
    #arguments: # string. Optional. Use when command != login && command != logout. Arguments. 
  # Secrets
    #secretType: 'dockerRegistry' # 'dockerRegistry' | 'generic'. Required when command != login && command != logout. Type of secret. Default: dockerRegistry.
    #secretArguments: # string. Optional. Use when secretType = generic && command != login && command != logout. Arguments. 
    #containerRegistryType: 'Azure Container Registry' # 'Azure Container Registry' | 'Container Registry'. Required when secretType = dockerRegistry && command != login && command != logout. Container registry type. Default: Azure Container Registry.
    #dockerRegistryEndpoint: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout. Docker registry service connection. 
    #azureSubscriptionEndpointForSecrets: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure subscription. 
    #azureContainerRegistry: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure container registry. 
    #secretName: # string. Optional. Use when command != login && command != logout. Secret name. 
    #forceUpdate: true # boolean. Optional. Use when command != login && command != logout. Force update secret. Default: true.
  # ConfigMaps
    #configMapName: # string. Optional. Use when command != login && command != logout. ConfigMap name. 
    #forceUpdateConfigMap: false # boolean. Optional. Use when command != login && command != logout. Force update configmap. Default: false.
    #useConfigMapFile: false # boolean. Optional. Use when command != login && command != logout. Use file. Default: false.
    #configMapFile: # string. Required when useConfigMapFile = true && command != login && command != logout. ConfigMap file. 
    #configMapArguments: # string. Optional. Use when useConfigMapFile = false && command != login && command != logout. Arguments. 
  # Advanced
    #versionOrLocation: 'version' # 'version' | 'location'. Optional. Use when command != login && command != logout. Kubectl. Default: version.
    #versionSpec: '1.7.0' # string. Optional. Use when versionOrLocation = version && command != login && command != logout. Version spec. Default: 1.7.0.
    #checkLatest: false # boolean. Optional. Use when versionOrLocation = version && command != login && command != logout. Check for latest version. Default: false.
    #specifyLocation: # string. Required when versionOrLocation = location && command != login && command != logout. Path to kubectl. 
    #workingDirectory: '$(System.DefaultWorkingDirectory)' # string. Alias: cwd. Optional. Use when command != login && command != logout. Working directory. Default: $(System.DefaultWorkingDirectory).
    #outputFormat: 'json' # 'json' | 'yaml'. Optional. Use when command != login && command != logout. Output format. Default: json.

Girişler

connectionType - Hizmet bağlantı türü
string. olduğunda command != logoutgereklidir. İzin verilen değerler: Azure Resource Manager, Kubernetes Service Connection, None. Varsayılan değer: Kubernetes Service Connection.

Hizmet bağlantı türünü belirtir: Diğer kümelerde Azure Kubernetes Service veya Kubernetes Service Connection kullanılırken Azure Resource Manager.

  • Kubernetes Service Connection - Bir 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. Aks örneğini Azure Aboneliği seçeneğiyle içeri aktarmak için Hizmet Bağlantısı yapılandırma zamanında Kubernetes kümesi erişimi gerekir.
  • Azure Resource Manager - Bir AKS örneği seçmenize olanak tanır. 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 - Hizmet bağlantı türü
string. olduğunda command != logoutgereklidir. İzin verilen değerler: Azure Resource Manager, Kubernetes Service Connection, None. Varsayılan değer: Azure Resource Manager.

Hizmet bağlantı türünü belirtir: Diğer kümelerde Azure Kubernetes Service veya Kubernetes Service Connection kullanılırken Azure Resource Manager.


kubernetesServiceEndpoint - Kubernetes hizmet bağlantısı
string. olduğunda connectionType = Kubernetes Service Connection && command != logoutgereklidir.

Bir Kubernetes hizmet bağlantısı seçin.


azureSubscriptionEndpoint - Azure aboneliği
string. olduğunda connectionType = Azure Resource Manager && command != logoutgereklidir.

Azure Container Registry içeren Azure Resource Manager aboneliğini belirtir.

Not

Yeni bir hizmet bağlantısı yapılandırmak için listeden Azure aboneliğini belirtin ve öğesine tıklayın Authorize. Aboneliğiniz listede yoksa veya mevcut bir Hizmet Sorumlusunu kullanmak istiyorsanız, veya Manage düğmelerini kullanarak Add bir Azure hizmet bağlantısı kurabilirsiniz.


azureResourceGroup - Kaynak grubu
string. olduğunda connectionType = Azure Resource Manager && command != logoutgereklidir.

Bir Azure kaynak grubu seçin.


kubernetesCluster - Kubernetes kümesi
string. olduğunda connectionType = Azure Resource Manager && command != logoutgereklidir.

Azure tarafından yönetilen bir küme seçin.


useClusterAdmin - Küme yöneticisi kimlik bilgilerini kullanma
boolean. İsteğe bağlı. when connectionType = Azure Resource Manager && command != logoutkullanın. Varsayılan değer: false.

Varsayılan küme kullanıcı kimlik bilgileri yerine küme yöneticisi kimlik bilgilerini kullanın.


namespace - Ad alanı
string. İsteğe bağlı. when command != logoutkullanın.

–namespace bayrağını kullanarak kubectl komutunun ad alanını ayarlayın. Ad alanı sağlanmazsa komutlar varsayılan ad alanında çalışır.


command - Komut
string. İzin verilen değerler: apply, create, delete, , exec, expose, , get, loginlogout, run. settoplogs

Çalıştırılacak kubectl komutunu seçin veya belirtin. İzin verilen değerler listesi, görev yardımcı kullanırken seçim kolaylığı için bazı yaygın seçenekler sağlar, ancak gibi scalediğer kubectl komutlarını belirtebilirsiniz. arguments Belirtilen kubectl komuta ek parametreler belirtmek için girişini kullanın.


command - Komut
string. Gereklidir. İzin verilen değerler: apply, create, delete, , exec, expose, , get, loginlogout, run. settoplogs Varsayılan değer: apply.

Çalıştırılacak kubectl komutunu seçin veya belirtin.


useConfigurationFile - Yapılandırmayı kullanma
boolean. İsteğe bağlı. when command != login && command != logoutkullanın. Varsayılan değer: false.

komutuyla kubectl kullanılacak Kubernetes yapılandırmasını belirtir. Kubernetes yapılandırma dosyalarının satır içi betiği, dosya adı, dizini veya URL'si sağlanabilir.


useConfigurationFile - Yapılandırma dosyalarını kullanma
boolean. İsteğe bağlı. when command != login && command != logoutkullanın. Varsayılan değer: false.

komutuyla kubectl kullanılacak Kubernetes yapılandırmasını belirtir. Kubernetes yapılandırma dosyalarının satır içi betiği, dosya adı, dizini veya URL'si sağlanabilir.


configurationType - Yapılandırma türü
string. İsteğe bağlı. when useConfigurationFile = truekullanın. İzin verilen değerler: configuration (Dosya yolu), inline (Satır içi yapılandırma). Varsayılan değer: configuration.

komutu için Kubernetes yapılandırmasının kubectl türünü belirtir. Bu bir dosya yolu veya satır içi betik olabilir.


configuration - Dosya yolu
string. olduğunda configurationType = configurationgereklidir.

Komutlarla kullanılan kubernetes yapılandırma dosyalarının dosya adını, dizinini veya URL'sini belirtir.


configuration - Yapılandırma dosyası
string. olduğunda useConfigurationFile = truegereklidir.

Komutlarla kullanılan kubernetes yapılandırma dosyalarının dosya adını, dizinini veya URL'sini belirtir.


inline - Satır içi yapılandırma
string. olduğunda configurationType = inlinegereklidir.

Komutun satır içi dağıtım yapılandırmasını kubectl belirtir.


arguments - Bağımsız değişken
string. İsteğe bağlı. when command != login && command != logoutkullanın.

Belirtilen kubectl komutunun bağımsız değişkenleri.


secretType - Gizli dizi türü
string. olduğunda command != login && command != logoutgereklidir. İzin verilen değerler: dockerRegistry, generic. Varsayılan değer: dockerRegistry.

Genel veya docker imagepullsecret oluşturun/güncelleştirin. Seçili kayıt defterinin imagepullsecret değerini oluşturmak/güncelleştirmek için dockerRegistry'yi seçin. imagePullSecret, Kapsayıcı kayıt defteri parolasını içeren bir gizli diziyi Kubelet'e geçirerek Pod'unuz adına özel görüntü çekmesini sağlamanın bir yoludur.


secretArguments - Bağımsız değişken
string. İsteğe bağlı. when secretType = generic && command != login && command != logoutkullanın.

Gizli diziye eklenecek anahtarları ve değişmez değerleri belirtir. Örneğin, --from-literal=key1=value1veya --from-literal=key2="top secret".


containerRegistryType - Kapsayıcı kayıt defteri türü
string. olduğunda secretType = dockerRegistry && command != login && command != logoutgereklidir. İzin verilen değerler: Azure Container Registry, Container Registry. Varsayılan değer: Azure Container Registry.

Kapsayıcı kayıt defteri türünü seçin. Görev, Azure Container kayıt defteriyle çalışmak için Azure Aboneliği ayrıntılarını kullanabilir. Diğer standart Kapsayıcı kayıt defterleri de desteklenir.


dockerRegistryEndpoint - Docker kayıt defteri hizmeti bağlantısı
string. İsteğe bağlı. when secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logoutkullanın.

Bir Docker kayıt defteri hizmeti bağlantısı seçin. Kayıt defteriyle kimlik doğrulaması gereken komutlar için gereklidir.


azureSubscriptionEndpointForSecrets - Azure aboneliği
string. İsteğe bağlı. when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logoutkullanın.

Azure Container Registry içeren Azure Resource Manager aboneliğini belirtir.

Not

Yeni bir hizmet bağlantısı yapılandırmak için listeden Azure aboneliğini seçin ve öğesine tıklayın Authorize. Aboneliğiniz listede yoksa veya mevcut bir Hizmet Sorumlusunu kullanmak istiyorsanız, veya Manage düğmelerini kullanarak Add bir Azure hizmet bağlantısı kurabilirsiniz.


azureContainerRegistry - Azure kapsayıcı kayıt defteri
string. İsteğe bağlı. when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logoutkullanın.

Kapsayıcı görüntülerini çekmek ve uygulamaları Kubernetes kümesine dağıtmak için kullanılan bir Azure Container Registry belirtir. Kayıt defteriyle kimlik doğrulaması gereken komutlar için gereklidir.


secretName - Gizli dizi adı
string. İsteğe bağlı. when command != login && command != logoutkullanın.

Gizli dizinin adı. Bu gizli dizi adını Kubernetes YAML yapılandırma dosyasında kullanabilirsiniz.


forceUpdate - Gizli diziyi güncelleştirmeye zorla
boolean. İsteğe bağlı. when command != login && command != logoutkullanın. Varsayılan değer: true.

Gizli dizi varsa silin ve güncelleştirilmiş değerlerle yeni bir tane oluşturun.


configMapName - ConfigMap adı
string. İsteğe bağlı. when command != login && command != logoutkullanın.

ConfigMap'ler, kapsayıcılı uygulamaların taşınabilir kalmasını sağlamak için yapılandırma yapıtlarını görüntü içeriğinden ayırmanıza olanak tanır.


forceUpdateConfigMap - Güncelleştirme yapılandırma haritasını zorlama
boolean. İsteğe bağlı. when command != login && command != logoutkullanın. Varsayılan değer: false.

Varsa configmap'i silin ve güncelleştirilmiş değerlerle yeni bir tane oluşturun.


useConfigMapFile - Dosya kullan
boolean. İsteğe bağlı. when command != login && command != logoutkullanın. Varsayılan değer: false.

ConfigMap Bir dizin belirterek tek bir dosyadan veya birden çok dosyadan bir oluşturur.


configMapFile - ConfigMap dosyası
string. olduğunda useConfigMapFile = true && command != login && command != logoutgereklidir.

configMap'leri içeren bir dosya veya dizin belirtin.


configMapArguments - Bağımsız değişken
string. İsteğe bağlı. when useConfigMapFile = false && command != login && command != logoutkullanın.

içine eklenecek configMapanahtarları ve değişmez değerleri belirtir. Örneğin --from-literal=key1=value1 veya --from-literal=key2="top secret" olabilir.


versionOrLocation - Kubectl
string. İzin verilen değerler: version, location (Konumu belirtin). Varsayılan değer: version.

kubectl, Kubernetes kümelerinde komut çalıştırmaya yönelik bir komut satırı arabirimidir.


versionOrLocation - Kubectl
string. İsteğe bağlı. when command != login && command != logoutkullanın. İzin verilen değerler: version, location (Konumu belirtin). Varsayılan değer: version.

kubectl, Kubernetes kümelerinde komut çalıştırmaya yönelik bir komut satırı arabirimidir.


versionSpec - Sürüm belirtimi
string. İsteğe bağlı. when versionOrLocation = versionkullanın. Varsayılan değer: 1.13.2.

Alınacak sürümün sürüm belirtimini belirtir. Örnekler: 1.7.0, 1.x.0, 4.x.0, 6.10.0, >=6.10.0.


versionSpec - Sürüm belirtimi
string. İsteğe bağlı. when versionOrLocation = version && command != login && command != logoutkullanın. Varsayılan değer: 1.7.0.

-18-2 Alınacak sürümün sürüm belirtimini belirtir. Örnekler: 1.7.0, 1.x.0, 4.x.0, 6.10.0, >=6.10.0.


checkLatest - En son sürümü denetleme
boolean. İsteğe bağlı. when versionOrLocation = versionkullanın. Varsayılan değer: false.

Sürüm belirtimini karşılayan en son kullanılabilir sürümü (stable.txt) her zaman çevrimiçi olarak denetler. Her zaman en son sürümü almak için belirli bir senaryonuz yoksa bu genellikle false olur. Bu, özellikle barındırılan derleme havuzu için gerekli olmadığında indirme maliyetlerine neden olur.


checkLatest - En son sürümü denetleme
boolean. İsteğe bağlı. when versionOrLocation = version && command != login && command != logoutkullanın. Varsayılan değer: false.

Sürüm belirtimini karşılayan en son kullanılabilir sürümü (stable.txt) her zaman çevrimiçi olarak denetler. Her zaman en son sürümü almak için belirli bir senaryonuz yoksa bu genellikle false olur. Bu, özellikle barındırılan derleme havuzu için gerekli olmadığında indirme maliyetlerine neden olur.


specifyLocation - kubectl yolu
string. olduğunda versionOrLocation = locationgereklidir.

Dosyanın tam yolunu kubectl.exe belirtir.


specifyLocation - kubectl yolu
string. olduğunda versionOrLocation = location && command != login && command != logoutgereklidir.

Dosyanın tam yolunu kubectl.exe belirtir.


workingDirectory - Çalışma dizini
Giriş diğer adı: cwd. string. Varsayılan değer: $(System.DefaultWorkingDirectory).

Kubectl komutu için çalışma dizini.


workingDirectory - Çalışma dizini
Giriş diğer adı: cwd. string. İsteğe bağlı. when command != login && command != logoutkullanın. Varsayılan değer: $(System.DefaultWorkingDirectory).

Kubectl komutu için çalışma dizini.


outputFormat - Çıkış biçimi
string. İzin verilen değerler: json, yaml, none. Varsayılan değer: json.

Çıkış biçimi.


outputFormat - Çıkış biçimi
string. İzin verilen değerler: json, yaml. Varsayılan değer: json.

Çıkış biçimi.


outputFormat - Çıkış biçimi
string. İsteğe bağlı. when command != login && command != logoutkullanın. İzin verilen değerler: json, yaml. Varsayılan değer: json.

Çıkış biçimi.


Görev denetim seçenekleri

Tüm görevlerde 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ğı akış adımlarında, işlerde ve aşamalarda kullanabileceğiniz aşağıdaki çıkış değişkenlerini tanımlar.

KubectlOutput
komutunun çıkışını kubectl depolar.

Açıklamalar

Sürüm 1.0'daki yenilikler.

  • Azure AKS kümelerinin kolayca seçilmesi için yeni bir hizmet bağlantı türü girişi eklendi.
  • Çıkış değişkeni girişini, tüm görevlere eklediğimiz bir çıkış değişkenleri bölümüyle değiştirdik.

Kubectl komutlarını çalıştırarak kubernetes kümesini dağıtmak, yapılandırmak veya güncelleştirmek için bu görevi kullanın.

Hizmet bağlantısı

Görev iki hizmet bağlantısı türüyle çalışır: Aşağıda açıklanan Azure Resource Manager ve Kubernetes Service Bağlantısı.

Azure Resource Manager

Azure Resource Manager Azure Resource Manager hizmeti bağlantısını kullanmak için olarak ayarlayın connectionType ve belirtinazureSubscriptionEndpoint.

Bu YAML örneği, Azure Resource Manager'nin Kubernetes kümesine başvurmak için nasıl kullanıldığını gösterir. Bu, kubectl komutlarından biriyle ve komutun gerektirdiği uygun değerlerle kullanılır.

variables:
  azureSubscriptionEndpoint: Contoso
  azureContainerRegistry: contoso.azurecr.io
  azureResourceGroup: Contoso
  kubernetesCluster: Contoso
  useClusterAdmin: false

steps:
- task: Kubernetes@1
  displayName: kubectl apply
  inputs:
    connectionType: Azure Resource Manager
    azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
    azureResourceGroup: $(azureResourceGroup)
    kubernetesCluster: $(kubernetesCluster)
    useClusterAdmin: $(useClusterAdmin)

Kubernetes Service Bağlantısı

Kubernetes Service Connection Kubernetes hizmet bağlantısı kullanmak için olarak ayarlayın connectionType ve belirtinkubernetesServiceEndpoint.

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, kubectl komutlarından biriyle ve komutun gerektirdiği uygun değerlerle kullanılır.

- task: Kubernetes@1
  displayName: kubectl apply
  inputs:
    connectionType: Kubernetes Service Connection
    kubernetesServiceEndpoint: Contoso

AKS'ye erişirken Kubernetes Hizmet Bağlantısı ile ilgili dikkat edilmesi gerekenler

Aşağıdaki seçeneklerden herhangi biriyle Kubernetes hizmet bağlantısı oluşturabilirsiniz.

  • KubeConfig
  • Hizmet Hesabı
  • Azure Aboneliği

Kubernetes hizmeti bağlantı 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. Bir hizmet bağlantısının oluşturulamamasının çeşitli nedenleri olabilir. Örneğin, özel bir küme oluşturdunuz veya kümede yerel hesaplar devre dışı bırakılmış olabilir. Bu gibi durumlarda Azure DevOps, hizmet bağlantısı yapılandırma zamanında kümenize bağlanamaz ve takılmış Bir Ad alanları yükleniyor ekranı görürsünüz.

Kubernetes hizmet bağlantısı kimlik doğrulaması iletişim kutusunun ad alanları yüklenirken takıldığını seçme ekran görüntüsü.

Kubernetes 1.24'den başlayarak, uzun süreli belirteçler artık varsayılan olarak oluşturulmaz. Kubernetes, uzun süreli 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çlere erişimi yoktur ve Kubernetes kümenize erişemez. Bunun sonucunda da donmuş Yükleme ad alanları iletişim kutusu açılır.

AKS'ye erişmek için Azure Resource Manager Hizmeti Bağlantısı'nı kullanma

AKS müşterileri için, Azure Resource Manager hizmeti 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üş hattı 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 kubernetes önerisi olan kısa süreli bir belirteçle bağlanmanızı sağlar.
  • 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ı seçeneğini kullanıyorsunuz. Uzun süreli belirteçler oluşturmak için bu yöntemi güncelleştiriyoruz. Bu özelliğin Mayıs ortasında kullanıma sunulması beklenmektedir. Ancak, Kubernetes kılavuzuna göre uzun süreli belirteçleri kullanmamak için Azure hizmet bağlantı türünü kullanmaya başlamanız önerilir.

AKS kullanıyorum ve hiçbir şeyi değiştirmek istemiyorum, Kubernetes hizmet bağlantısıyla görevleri kullanmaya devam edebilir miyim?

Uzun süreli 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ılavuzuna aykırı olduğunu lütfen unutmayın.

Kubernetes görevlerini ve Kubernetes hizmet bağlantısını kullanıyorum ama 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 hizmeti bağlantısı varolmaya devam edecektir.

Aks müşterisiyim ve her şey yolunda, harekete geçeyim mi?

Hiçbir şeyi değiştirmeye gerek yok. Kubernetes hizmet bağlantısını kullanıyorsanız ve oluşturma sırasında Azure Aboneliği'ni seçtiyseniz , uzun süreli belirteçleri kullanma konusunda Kubernetes kılavuzunun farkında olmanız 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 girişi Azure Resource Manager hizmet bağlantısına ayarlayabilirsinizconnectionType.

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şmek belirteç oluşturmayla ilgili değildir. Etkileşimli bir istemi önlemek için, gelecekteki bir güncelleştirmede kubelogin'i destekleyeceğiz.

Komutlar

Komut girişi kubectl komutlarını kabul eder.

Bu YAML örneği apply komutunu gösterir:

- task: Kubernetes@1
  displayName: kubectl apply using arguments
  inputs:
    connectionType: Azure Resource Manager
    azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
    azureResourceGroup: $(azureResourceGroup)
    kubernetesCluster: $(kubernetesCluster)
    command: apply
    arguments: -f mhc-aks.yaml

Bu YAML örneği , uygula komutuyla bir yapılandırma dosyasının kullanımını gösterir:

- task: Kubernetes@1
  displayName: kubectl apply using configFile
  inputs:
    connectionType: Azure Resource Manager
    azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
    azureResourceGroup: $(azureResourceGroup)
    kubernetesCluster: $(kubernetesCluster)
    command: apply
    useConfigurationFile: true
    configuration: mhc-aks.yaml

Bu YAML örneği, bir dağıtımdaki çoğaltma sayısını 0'a düşürmek için ölçeklendirme komutunun nasıl kullanılacağını gösterir.

- task: Kubernetes@1
      displayName: 'Scale down deployment $(k8sDeployment) to 0'
      inputs:
        connectionType: 'Kubernetes Service Connection'
        kubernetesServiceEndpoint: $(kubernetesServiceConnection)
        command: 'scale'
        arguments: 'deployment/$(k8sDeployment) --replicas=0'
        namespace: $(namespace)

Gizli Diziler

Gizli dizi türüne sahip Kubernetes nesneleri parolalar, OAuth belirteçleri ve ssh anahtarları gibi hassas bilgileri barındırmaya yöneliktir. Bu bilgileri gizli diziye koymak, pod tanımına veya Docker görüntüsüne ayrıntılı olarak koymaktan daha güvenli ve daha esnektir. Azure Pipelines, aşağıda açıklandığı gibi bir hizmet hesabına ekleme ImagePullSecrets veya genel gizli dizi ayarlama işlemlerini basitleştirir.

ImagePullSecret

Bu YAML örneği ImagePullSecrets ayarını gösterir:

    - task: Kubernetes@1
      displayName: kubectl apply for secretType dockerRegistry
      inputs:
        azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
        azureResourceGroup: $(azureResourceGroup)
        kubernetesCluster: $(kubernetesCluster)
        command: apply
        arguments: -f mhc-aks.yaml
        secretType: dockerRegistry
        containerRegistryType: Azure Container Registry
        azureSubscriptionEndpointForSecrets: $(azureSubscriptionEndpoint)
        azureContainerRegistry: $(azureContainerRegistry)
        secretName: mysecretkey2
        forceUpdate: true

Genel Gizli Diziler

Bu YAML örneği secretArguments girişi için belirtilen değişmez değerlerden genel gizli diziler oluşturur:

    - task: Kubernetes@1
      displayName: secretType generic with literal values
      inputs:
        azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
        azureResourceGroup: $(azureResourceGroup)
        kubernetesCluster: $(kubernetesCluster)
        command: apply
        arguments: -f mhc-aks.yaml
        secretType: generic
        secretArguments: --from-literal=contoso=5678
        secretName: mysecretkey

İşlem hattı değişkenleri, burada gösterildiği gibi değişmez değerleri belirtmek için bağımsız değişkenleri geçirmek için kullanılabilir:

    - task: Kubernetes@1
      displayName: secretType generic with pipeline variables
      inputs:
        azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
        azureResourceGroup: $(azureResourceGroup)
        kubernetesCluster: $(kubernetesCluster)
        command: apply
        arguments: -f mhc-aks.yaml
        secretType: generic
        secretArguments: --from-literal=contoso=$(contosovalue)
        secretName: mysecretkey

ConfigMap

ConfigMap'ler, kapsayıcılı uygulamaların taşınabilirliğini korumak için yapılandırma yapıtlarını görüntü içeriğinden ayırmanıza olanak tanır.

Bu YAML örneği, bir ConfigMap dosyasına işaret ederek bir ConfigMap oluşturur:

    - task: Kubernetes@1
      displayName: kubectl apply
      inputs:
        configMapName: myconfig
        useConfigMapFile: true
        configMapFile: src/configmap

Bu YAML örneği, değişmez değerleri doğrudan configMapArguments girişi olarak belirterek ve forceUpdate değerini true olarak ayarlayarak bir ConfigMap oluşturur:

    - task: Kubernetes@1
      displayName: configMap with literal values
      inputs:
        azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
        azureResourceGroup: $(azureResourceGroup)
        kubernetesCluster: $(kubernetesCluster)
        command: apply
        arguments: -f mhc-aks.yaml
        secretType: generic
        secretArguments: --from-literal=contoso=$(contosovalue)
        secretName: mysecretkey4
        configMapName: myconfig
        forceUpdateConfigMap: true
        configMapArguments: --from-literal=myname=contoso

Burada gösterildiği gibi ConfigMap oluştururken değişmez değerleri geçirmek için işlem hattı değişkenlerini kullanabilirsiniz:

    - task: Kubernetes@1
      displayName: configMap with pipeline variables
      inputs:
        azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
        azureResourceGroup: $(azureResourceGroup)
        kubernetesCluster: $(kubernetesCluster)
        command: apply
        arguments: -f mhc-aks.yaml
        secretType: generic
        secretArguments: --from-literal=contoso=$(contosovalue)
        secretName: mysecretkey4
        configMapName: myconfig
        forceUpdateConfigMap: true
        configMapArguments: --from-literal=myname=$(contosovalue)

Sorun giderme

Kubernetes kümem güvenlik duvarının arkasında ve barındırılan aracılar kullanıyorum. Bu kümeye nasıl dağıtırım?

Barındırılan aracılar için IP adreslerine izin vererek bu barındırılan aracılara güvenlik duvarınız üzerinden erişim verebilirsiniz. Diğer ayrıntılar için bkz. Aracı IP aralıkları

Gereksinimler

Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme, Klasik sürüm
Üzerinde çalıştırılır Agent, DeploymentGroup
Talep Hiçbiri
Özellikler Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz.
Komut kısıtlamaları Herhangi biri
Ayarlanabilir değişkenler Herhangi biri
Aracı sürümü Desteklenen tüm aracı sürümleri.
Görev kategorisi Dağıtma