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.

Sözdizimi

# 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ş

connectionType - Hizmet bağlantı türü
string. command != logoutgerekir. İ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ümeler için Azure Kubernetes Service veya Kubernetes Service Bağlantısı kullanılırken Azure Resource Manager.

  • Kubernetes Service Connection - Azure Aboneliği seçeneğiyle bir KubeConfig dosyası sağlamanıza, Hizmet Hesabı belirtmenize veya 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 - 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. command != logoutgerekir. İ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ümeler için Azure Kubernetes Service veya Kubernetes Service Bağlantısı kullanılırken Azure Resource Manager.


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

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


Azure aboneliğiazureSubscriptionEndpoint -
string. connectionType = Azure Resource Manager && command != logoutgerekir.

Azure Container Registry'yi 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 Authorizeöğesine tıklayın. Aboneliğiniz listede yoksa veya mevcut bir Hizmet Sorumlusu'nu kullanmak istiyorsanız, Add veya Manage düğmelerini kullanarak bir Azure hizmet bağlantısı kurabilirsiniz.


kaynak grubuazureResourceGroup -
string. connectionType = Azure Resource Manager && command != logoutgerekir.

Bir Azure kaynak grubu seçin.


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

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


useClusterAdmin - Küme yöneticisi kimlik bilgilerini kullanma
boolean. Opsiyonel. connectionType = Azure Resource Manager && command != logoutolduğunda kullanın. Varsayılan değer: false.

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


ad alanınamespace -
string. Opsiyonel. command != logoutolduğunda kullanı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, login, logout, logs, run, set, top.

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


command - Komut
string. Gerekli. İzin verilen değerler: apply, create, delete, exec, expose, get, login, logout, logs, run, set, top. Varsayılan değer: apply.

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


useConfigurationFile - Yapılandırma kullanma
boolean. Opsiyonel. command != login && command != logoutolduğunda kullanın. Varsayılan değer: false.

kubectl komutuyla 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. Opsiyonel. command != login && command != logoutolduğunda kullanın. Varsayılan değer: false.

kubectl komutuyla 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. Opsiyonel. useConfigurationFile = trueolduğunda kullanın. İzin verilen değerler: configuration (Dosya yolu), inline (Satır içi yapılandırma). Varsayılan değer: configuration.

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


configuration - Dosya yolu
string. configurationType = configurationgerekir.

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


configuration - Yapılandırma dosyası
string. useConfigurationFile = truegerekir.

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


satır içi yapılandırmainline -
string. configurationType = inlinegerekir.

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


bağımsız değişkenleriarguments -
string. Opsiyonel. command != login && command != logoutolduğunda kullanın.

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


secretType - Tür gizli dizi
string. command != login && command != logoutgerekir. İ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'ini oluşturmak/güncelleştirmek için dockerRegistry'yi seçin. ImagePullSecret, Pod'unuz adına özel görüntü çekebilmesi için kubelet'e kapsayıcı kayıt defteri parolası içeren bir gizli dizi geçirmenin bir yoludur.


bağımsız değişkenlerisecretArguments -
string. Opsiyonel. secretType = generic && command != login && command != logoutolduğunda kullanın.

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


kapsayıcı kayıt defteri türücontainerRegistryType -
string. secretType = dockerRegistry && command != login && command != logoutgerekir. İ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 registry ile çalışmak için Azure Aboneliği ayrıntılarını kullanabilir. Diğer standart Kapsayıcı kayıt defterleri de desteklenir.


Docker kayıt defteri hizmeti bağlantısıdockerRegistryEndpoint -
string. Opsiyonel. secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logoutolduğunda kullanın.

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


Azure aboneliğiazureSubscriptionEndpointForSecrets -
string. Opsiyonel. secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logoutolduğunda kullanın.

Azure Container Registry'yi 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 Authorizeöğesine tıklayın. Aboneliğiniz listede yoksa veya mevcut bir Hizmet Sorumlusu'nu kullanmak istiyorsanız, Add veya Manage düğmelerini kullanarak bir Azure hizmet bağlantısı kurabilirsiniz.


Azure kapsayıcı kayıt defteriazureContainerRegistry -
string. Opsiyonel. secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logoutolduğunda kullanı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. Opsiyonel. command != login && command != logoutolduğunda kullanı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. Opsiyonel. command != login && command != logoutolduğunda kullanın. Varsayılan değer: true.

Varsa gizli diziyi silin ve güncelleştirilmiş değerlerle yeni bir tane oluşturun.


configMapName - ConfigMap adı
string. Opsiyonel. command != login && command != logoutolduğunda kullanı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ştirmeyi zorla yapılandırma haritası
boolean. Opsiyonel. command != login && command != logoutolduğunda kullanın. Varsayılan değer: false.

Varsa yapılandırma haritasını silin ve güncelleştirilmiş değerlerle yeni bir tane oluşturun.


useConfigMapFile - Dosya kullanma
boolean. Opsiyonel. command != login && command != logoutolduğunda kullanın. Varsayılan değer: false.

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


ConfigMap dosyasıconfigMapFile -
string. useConfigMapFile = true && command != login && command != logoutgerekir.

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


bağımsız değişkenlericonfigMapArguments -
string. Opsiyonel. useConfigMapFile = false && command != login && command != logoutolduğunda kullanın.

configMapeklenecek anahtarları ve değişmez değerleri belirtir. Örneğin, --from-literal=key1=value1 veya --from-literal=key2="top secret".


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


KubectlversionOrLocation -
string. Opsiyonel. command != login && command != logoutolduğunda kullanı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. Opsiyonel. versionOrLocation = versionolduğunda kullanı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. Opsiyonel. versionOrLocation = version && command != login && command != logoutolduğunda kullanı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ü denetle
boolean. Opsiyonel. versionOrLocation = versionolduğunda kullanı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 yanlış olur. Bu, özellikle barındırılan derleme havuzu için gerekli olmayabilecek durumlarda indirme maliyetlerine neden olur.


checkLatest - En son sürümü denetle
boolean. Opsiyonel. versionOrLocation = version && command != login && command != logoutolduğunda kullanı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 yanlış olur. Bu, özellikle barındırılan derleme havuzu için gerekli olmayabilecek durumlarda indirme maliyetlerine neden olur.


kubectliçin specifyLocation - Yolu
string. versionOrLocation = locationgerekir.

kubectl.exe dosyasının tam yolunu belirtir.


kubectliçin specifyLocation - Yolu
string. versionOrLocation = location && command != login && command != logoutgerekir.

kubectl.exe dosyasının tam yolunu 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. Opsiyonel. command != login && command != logoutolduğunda kullanın. Varsayılan değer: $(System.DefaultWorkingDirectory).

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


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

Çıkış biçimi. İzin verilen değerler listesi, görev yardımcısı kullanılırken seçim kolaylığı için bazı yaygın seçenekler sağlar, ancak jsonpath={.items[*].spec['initContainers', 'containers'][*].image}gibi diğer çıkış seçeneklerini belirtebilirsiniz.


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

Çıkış biçimi. İzin verilen değerler listesi, görev yardımcısı kullanılırken seçim kolaylığı için bazı yaygın seçenekler sağlar, ancak jsonpath={.items[*].spec['initContainers', 'containers'][*].image}gibi diğer çıkış seçeneklerini belirtebilirsiniz.


outputFormat - Çıktı biçimi
string. Opsiyonel. command != login && command != logoutolduğunda kullanın. İzin verilen değerler: json, yaml. Varsayılan değer: json.

Çıkış biçimi. İzin verilen değerler listesi, görev yardımcısı kullanılırken seçim kolaylığı için bazı yaygın seçenekler sağlar, ancak jsonpath={.items[*].spec['initContainers', 'containers'][*].image}gibi diğer çıkış seçeneklerini belirtebilirsiniz.


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.

KubectlOutput
kubectl komutunun çıkışını 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: azure resource manager ve Kubernetes Service Connectionaşağıda açıklanmıştır.

Azure Resource Manager

connectionType Azure Resource Manager olarak ayarlayın ve Azure Resource Manager hizmet bağlantısı kullanmak için bir azureSubscriptionEndpoint belirtin.

Bu YAML örneği, Azure Resource Manager'ın 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 Hizmet Bağlantısı

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

Bu YAML örneği, Kubernetes kümesine başvurmak için Kubernetes Service Connection'ı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 bir Kubernetes hizmet bağlantısı oluşturabilirsiniz.

  • KubeConfig
  • 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

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

Bu YAML örneğinde apply komutu gösterilmektedir:

- 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, apply 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çek 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)

Sır -larını

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 yerleştirmek, 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 hizmet hesabına ImagePullSecrets eklenmesini veya genel gizli dizilerin ayarlanmasını 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, sabit değerleri doğrudan configMapArguments girişi olarak belirterek ve forceUpdate 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 bir güvenlik duvarının arkasında ve barındırılan aracıları kullanıyorum. Bu kümeye nasıl dağıtım yapabilirim?

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

Gereksinim -leri

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
Ayarlanabilir değişkenleri Herhangi
Aracı sürümü Desteklenen tüm aracı sürümleri.
Görev kategorisi Dağıtmak