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 != logout
gerekir. İ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 != logout
gerekir. İ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 != logout
gerekir.
Bir Kubernetes hizmet bağlantısı seçin.
Azure aboneliğiazureSubscriptionEndpoint
-
string
.
connectionType = Azure Resource Manager && command != logout
gerekir.
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 != logout
gerekir.
Bir Azure kaynak grubu seçin.
Kubernetes kümesikubernetesCluster
-
string
.
connectionType = Azure Resource Manager && command != logout
gerekir.
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 != logout
olduğunda kullanın. Varsayılan değer: false
.
Varsayılan küme kullanıcı kimlik bilgileri yerine küme yöneticisi kimlik bilgilerini kullanın.
ad alanınamespace
-
string
. Opsiyonel.
command != logout
olduğ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 scale
gibi 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 != logout
olduğ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 != logout
olduğ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 = true
olduğ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 = configuration
gerekir.
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 = true
gerekir.
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 = inline
gerekir.
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 != logout
olduğunda kullanın.
Belirtilen kubectl komutunun bağımsız değişkenleri.
secretType
-
Tür gizli dizi
string
.
command != login && command != logout
gerekir. İ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 != logout
olduğunda 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"
.
kapsayıcı kayıt defteri türücontainerRegistryType
-
string
.
secretType = dockerRegistry && command != login && command != logout
gerekir. İ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 != logout
olduğ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 != logout
olduğ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 != logout
olduğ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 != logout
olduğ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 != logout
olduğ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 != logout
olduğ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 != logout
olduğ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 != logout
olduğ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 != logout
gerekir.
configMap'leri içeren bir dosya veya dizin belirtin.
bağımsız değişkenlericonfigMapArguments
-
string
. Opsiyonel.
useConfigMapFile = false && command != login && command != logout
olduğunda kullanın.
configMap
eklenecek 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 != logout
olduğ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 = version
olduğ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 != logout
olduğ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 = version
olduğ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 != logout
olduğ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 = location
gerekir.
kubectl.exe
dosyasının tam yolunu belirtir.
kubectliçin specifyLocation
- Yolu
string
.
versionOrLocation = location && command != login && command != logout
gerekir.
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 != logout
olduğ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 != logout
olduğ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
Azure Aboneliği seçeneğini belirlediğinizde Kubernetes'e hizmet bağlantısı yapılandırma zamanında Azure DevOps tarafından erişilebilir olması gerekir. Hizmet bağlantısının oluşturulamamasının çeşitli nedenleri olabilir, örneğin özel bir küme veya kümede devre dışı bırakılmışyerel hesapları olabilir. Bu gibi durumlarda Azure DevOps, hizmet bağlantısı yapılandırma zamanında kümenize bağlanamaz ve ad alanlarını yükleme ekranı takılmış bir görüntü görürsünüz.
Kubernetes 1.24'den başlayarak, uzun ömürlü belirteçler artık varsayılan olarak oluşturulmaz. Kubernetes, uzun ömürlü belirteçler kullanmamanızı önerir. Sonuç olarak, Azure Aboneliği seçeneğiyle oluşturulan bir Kubernetes hizmet bağlantısı kullanan görevlerin kimlik doğrulaması için gereken kalıcı belirteç erişimi yoktur ve Kubernetes kümenize erişemez. Bu, donmuş Ad alanlarını yükleme iletişim kutusuna da neden olur.
AKS'ye erişmek için Azure Resource Manager Hizmet Bağlantısı'nı kullanma
AKS müşterileri için Azure Resource Manager hizmet bağlantı türü, özel bir kümeye veya yerel hesapları devre dışı bırakılmış bir kümeye bağlanmak için en iyi yöntemi sağlar. Bu yöntem, hizmet bağlantısı oluşturduğunuzda küme bağlantısına bağımlı değildir. AKS'ye erişim, aşağıdaki avantajlara sahip işlem hattı çalışma zamanına ertelenmiştir:
- Bir (özel) AKS kümesine erişim, kümeye görüş çizgisi olan şirket içinde barındırılan veya ölçek kümesi aracısından gerçekleştirilebilir.
- Azure Resource Manager hizmet bağlantısı kullanan her görev için bir belirteç oluşturulur. Bu, kubernetes'e kısa ömürlü bir belirteçle bağlanmanızı sağlar. Bu, kubernetes önerisi.
- Yerel hesaplar devre dışı bırakıldığında bile AKS'ye erişilebilir.
Hizmet bağlantısı hakkında SSS
Şu hata iletisini alıyorum: Hizmet hesabıyla ilişkili gizli dizi bulunamadı. Ne oluyor?
Azure Aboneliği ile Kubernetes hizmet bağlantısını kullanıyorsunuz. Uzun ömürlü belirteçler oluşturmak için bu yöntemi güncelleştiriyoruz. Bu özelliğin Mayıs ortasında kullanıma sunulması beklenmektedir. Ancak, Azure hizmet bağlantı türünü kullanmaya başlamanız ve Kubernetes kılavuzugöre uzun ömürlü belirteçler kullanmamanızı öneririz.
AKS kullanıyorum ve hiçbir şeyi değiştirmek istemiyorum, Kubernetes hizmet bağlantısıyla görevleri kullanmaya devam edebilir miyim?
Uzun ömürlü belirteçler oluşturmak için bu yöntemi güncelleştiriyoruz. Bu özelliğin Mayıs ortasında kullanıma sunulması beklenmektedir. Ancak, bu yaklaşımın Kubernetes kılavuzukarşı olduğunu unutmayın.
Kubernetes görevlerini ve Kubernetes hizmet bağlantısını kullanıyorum ancak AKS'yi kullanmıyorum. Endişelenmeli miyim?
Görevleriniz daha önce olduğu gibi çalışmaya devam edecektir.
Kubernetes hizmeti bağlantı türü kaldırılacak mı?
Kubernetes görevlerimiz, nerede çalıştıklarından bağımsız olarak tüm Kubernetes kümeleriyle çalışır. Kubernetes hizmet bağlantısı varolmaya devam edecektir.
Aks müşterisiyim ve her şey yolunda, harekete geçsem mi?
Hiçbir şeyi değiştirmeye gerek yok. Oluşturma sırasında Kubernetes hizmet bağlantısını kullanıyorsanız ve Azure Aboneliği'ni seçtiyseniz, uzun ömürlü belirteçleri kullanmayla ilgiliKubernetes kılavuzuna dikkat etmeniz gerekir.
Kubernetes Ortamı oluşturuyorum ve hizmet bağlantılarını kullanma seçeneğim yok
Ortam oluşturma sırasında AKS'nize erişemiyorsanız boş bir ortam kullanabilir ve connectionType
girişini bir Azure Resource Manager hizmet bağlantısına ayarlayabilirsiniz.
AKS'yi Azure Active Directory RBAC ile yapılandırdım ve işlem hattım çalışmıyor. Bu güncelleştirmeler bu sorunu çözecek mi?
AAD RBAC etkinleştirildiğinde Kubernetes'e erişmenin belirteç oluşturmayla ilgisi yok. Etkileşimli istemleri önlemek için, gelecekteki bir güncelleştirmede kubelogin destekleyeceğiz.
Komut
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 |