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 != logout
gereklidir. İ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 != logout
gereklidir. İ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 != logout
gereklidir.
Bir Kubernetes hizmet bağlantısı seçin.
azureSubscriptionEndpoint
- Azure aboneliği
string
. olduğunda connectionType = Azure Resource Manager && command != logout
gereklidir.
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 != logout
gereklidir.
Bir Azure kaynak grubu seçin.
kubernetesCluster
- Kubernetes kümesi
string
. olduğunda connectionType = Azure Resource Manager && command != logout
gereklidir.
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 != logout
kullanı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 != logout
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
, run
. set
top
logs
Ç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 scale
diğ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
, login
logout
, run
. set
top
logs
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 != logout
kullanı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 != logout
kullanı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 = true
kullanı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 = configuration
gereklidir.
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 = true
gereklidir.
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 = inline
gereklidir.
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 != logout
kullanın.
Belirtilen kubectl komutunun bağımsız değişkenleri.
secretType
- Gizli dizi türü
string
. olduğunda command != login && command != logout
gereklidir. İ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 != logout
kullanın.
Gizli diziye eklenecek anahtarları ve değişmez değerleri belirtir. Örneğin, --from-literal=key1=value1
veya --from-literal=key2="top secret"
.
containerRegistryType
- Kapsayıcı kayıt defteri türü
string
. olduğunda secretType = dockerRegistry && command != login && command != logout
gereklidir. İ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 != logout
kullanı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 != logout
kullanı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 != logout
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
. İsteğe bağlı. when command != login && command != logout
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
. İsteğe bağlı. when command != login && command != logout
kullanı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 != logout
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ştirme yapılandırma haritasını zorlama
boolean
. İsteğe bağlı. when command != login && command != logout
kullanı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 != logout
kullanı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 != logout
gereklidir.
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 != logout
kullanın.
içine eklenecek configMap
anahtarları 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 != logout
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
. İsteğe bağlı. when versionOrLocation = version
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
. İsteğe bağlı. when versionOrLocation = version && command != login && command != logout
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ü denetleme
boolean
. İsteğe bağlı. when versionOrLocation = version
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 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 != logout
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 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 = location
gereklidir.
Dosyanın tam yolunu kubectl.exe
belirtir.
specifyLocation
- kubectl yolu
string
. olduğunda versionOrLocation = location && command != login && command != logout
gereklidir.
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 != logout
kullanı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 != logout
kullanı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
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 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 |