Kubernetes@1 - Tugas Kubectl v1

Menyebarkan, mengonfigurasi, memperbarui kluster Kubernetes di Azure Container Service dengan menjalankan perintah kubectl.

Sebarkan, konfigurasikan, perbarui kluster Kubernetes Anda di Azure Container Service dengan menjalankan perintah kubectl.

Sintaks

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

Input

connectionType - Jenis koneksi layanan
string. Diperlukan saat command != logout. Nilai yang diizinkan: Azure Resource Manager, Kubernetes Service Connection, dan None. Nilai default: Kubernetes Service Connection.

Menentukan jenis koneksi layanan: Azure Resource Manager saat menggunakan Azure Kubernetes Service atau Koneksi Layanan Kubernetes untuk kluster lain.

  • Kubernetes Service Connection - Memungkinkan Anda menyediakan file KubeConfig, menentukan Akun Layanan, atau mengimpor instans AKS dengan opsi Langganan Azure . Mengimpor instans AKS dengan opsi Langganan Azure memerlukan akses kluster Kubernetes pada waktu konfigurasi Koneksi Layanan.
  • Azure Resource Manager - Memungkinkan Anda memilih instans AKS. Tidak mengakses kluster Kubernetes pada waktu konfigurasi Koneksi Layanan.
  • None - Gunakan konfigurasi Kubernetes yang telah dibuat sebelumnya yang disimpan secara lokal.

Untuk informasi selengkapnya, lihat Koneksi layanan di bagian Keterangan berikut.


connectionType - Jenis koneksi layanan
string. Diperlukan saat command != logout. Nilai yang diizinkan: Azure Resource Manager, Kubernetes Service Connection, dan None. Nilai default: Azure Resource Manager.

Menentukan jenis koneksi layanan: Azure Resource Manager saat menggunakan Azure Kubernetes Service atau Koneksi Layanan Kubernetes untuk kluster lain.


kubernetesServiceEndpoint - Koneksi layanan Kubernetes
string. Diperlukan saat connectionType = Kubernetes Service Connection && command != logout.

Pilih koneksi layanan Kubernetes.


azureSubscriptionEndpoint - Langganan Azure
string. Diperlukan saat connectionType = Azure Resource Manager && command != logout.

Menentukan langganan Azure Resource Manager, yang berisi Azure Container Registry.

Catatan

Untuk mengonfigurasi koneksi layanan baru, tentukan langganan Azure dari daftar dan klik Authorize. Jika langganan Anda tidak tercantum atau jika Anda ingin menggunakan Perwakilan Layanan yang sudah ada, Anda dapat menyiapkan koneksi layanan Azure menggunakan tombol Add atau Manage .


azureResourceGroup - Grup sumber daya
string. Diperlukan saat connectionType = Azure Resource Manager && command != logout.

Pilih grup sumber daya Azure.


kubernetesCluster - Kluster Kubernetes
string. Diperlukan saat connectionType = Azure Resource Manager && command != logout.

Pilih kluster terkelola Azure.


useClusterAdmin - Menggunakan kredensial admin kluster
boolean. Pilihan. Gunakan saat connectionType = Azure Resource Manager && command != logout. Nilai default: false.

Gunakan kredensial administrator kluster alih-alih kredensial pengguna kluster default.


namespace - Namespace
string. Opsional. Gunakan saat command != logout.

Atur namespace untuk perintah kubectl dengan menggunakan bendera –namespace. Jika namespace tidak disediakan, perintah akan berjalan di namespace default.


command - Perintah
string. Nilai yang diizinkan: apply, , deletecreate, exec, expose, get, login, logout, logs, run, set, top.

Pilih atau tentukan perintah kubectl untuk dijalankan. Daftar nilai yang diizinkan menyediakan beberapa pilihan umum untuk kemudahan pemilihan saat menggunakan tugas asisten, tetapi Anda dapat menentukan perintah kubectl lainnya seperti scale. arguments Gunakan input untuk menentukan parameter tambahan ke perintah yang ditentukankubectl.


command - Perintah
string. Wajib diisi. Nilai yang diizinkan: apply, , deletecreate, exec, expose, get, login, logout, logs, run, set, top. Nilai default: apply.

Pilih atau tentukan perintah kubectl untuk dijalankan.


useConfigurationFile - Menggunakan konfigurasi
boolean. Pilihan. Gunakan saat command != login && command != logout. Nilai default: false.

Menentukan konfigurasi Kubernetes yang akan digunakan dengan kubectl perintah . Skrip sebaris, nama file, direktori, atau URL ke file konfigurasi Kubernetes dapat disediakan.


useConfigurationFile - Menggunakan file konfigurasi
boolean. Opsional. Gunakan saat command != login && command != logout. Nilai default: false.

Menentukan konfigurasi Kubernetes yang akan digunakan dengan kubectl perintah . Skrip sebaris, nama file, direktori, atau URL ke file konfigurasi Kubernetes dapat disediakan.


configurationType - Jenis konfigurasi
string. Opsional. Gunakan saat useConfigurationFile = true. Nilai yang diizinkan: configuration (Jalur file), inline (Konfigurasi sebaris). Nilai default: configuration.

Menentukan jenis konfigurasi Kubernetes untuk kubectl perintah . Ini bisa menjadi jalur file atau skrip sebaris.


configuration - Jalur file
string. Diperlukan saat configurationType = configuration.

Menentukan nama file, direktori, atau URL ke file konfigurasi kubernetes yang digunakan dengan perintah .


configuration - File konfigurasi
string. Diperlukan saat useConfigurationFile = true.

Menentukan nama file, direktori, atau URL ke file konfigurasi kubernetes yang digunakan dengan perintah .


inline - Konfigurasi sebaris
string. Diperlukan saat configurationType = inline.

Menentukan konfigurasi penyebaran sebaris untuk kubectl perintah .


arguments - Argumen
string. Opsional. Gunakan saat command != login && command != logout.

Argumen ke perintah kubectl yang ditentukan.


secretType - Jenis rahasia
string. Diperlukan saat command != login && command != logout. Nilai yang diizinkan: dockerRegistry, generic. Nilai default: dockerRegistry.

Membuat/memperbarui imagepullsecret generik atau docker. Pilih dockerRegistry untuk membuat/memperbarui imagepullsecret dari registri yang dipilih. ImagePullSecret adalah cara untuk meneruskan rahasia yang berisi kata sandi registri kontainer ke Kubelet sehingga dapat menarik gambar privat atas nama Pod Anda.


secretArguments - Argumen
string. Opsional. Gunakan saat secretType = generic && command != login && command != logout.

Menentukan kunci dan nilai harfiah untuk disisipkan secara rahasia. Misalnya, --from-literal=key1=value1atau --from-literal=key2="top secret".


containerRegistryType - Jenis registri kontainer
string. Diperlukan saat secretType = dockerRegistry && command != login && command != logout. Nilai yang diizinkan: Azure Container Registry, Container Registry. Nilai default: Azure Container Registry.

Pilih jenis registri Kontainer. Tugas ini dapat menggunakan detail Langganan Azure untuk bekerja dengan registri Kontainer Azure. Registri Kontainer standar lainnya juga didukung.


dockerRegistryEndpoint - Koneksi layanan registri Docker
string. Pilihan. Gunakan saat secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout.

Pilih koneksi layanan registri Docker. Diperlukan untuk perintah yang perlu mengautentikasi dengan registri.


azureSubscriptionEndpointForSecrets - Langganan Azure
string. Pilihan. Gunakan saat secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout.

Menentukan langganan Azure Resource Manager, yang berisi Azure Container Registry.

Catatan

Untuk mengonfigurasi koneksi layanan baru, pilih langganan Azure dari daftar dan klik Authorize. Jika langganan Anda tidak tercantum atau jika Anda ingin menggunakan Perwakilan Layanan yang sudah ada, Anda dapat menyiapkan koneksi layanan Azure menggunakan tombol Add atau Manage .


azureContainerRegistry - Registri kontainer Azure
string. Pilihan. Gunakan saat secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout.

Menentukan Azure Container Registry yang digunakan untuk menarik gambar kontainer dan menyebarkan aplikasi ke kluster Kubernetes. Diperlukan untuk perintah yang perlu mengautentikasi dengan registri.


secretName - Nama rahasia
string. Pilihan. Gunakan saat command != login && command != logout.

Nama rahasia. Anda dapat menggunakan nama rahasia ini dalam file konfigurasi YAML Kubernetes.


forceUpdate - Paksa perbarui rahasia
boolean. Opsional. Gunakan saat command != login && command != logout. Nilai default: true.

Hapus rahasia jika ada dan buat yang baru dengan nilai yang diperbarui.


configMapName - Nama ConfigMap
string. Pilihan. Gunakan saat command != login && command != logout.

ConfigMaps memungkinkan Anda memisahkan artefak konfigurasi dari konten gambar untuk menjaga aplikasi kontainer tetap portabel.


forceUpdateConfigMap - Paksa configmap pembaruan
boolean. Pilihan. Gunakan saat command != login && command != logout. Nilai default: false.

Hapus peta konfigurasi jika ada dan buat yang baru dengan nilai yang diperbarui.


useConfigMapFile - Gunakan file
boolean. Pilihan. Gunakan saat command != login && command != logout. Nilai default: false.

ConfigMap Membuat dari file individual atau dari beberapa file dengan menentukan direktori.


configMapFile - File ConfigMap
string. Diperlukan saat useConfigMapFile = true && command != login && command != logout.

Tentukan file atau direktori yang berisi configMaps.


configMapArguments - Argumen
string. Pilihan. Gunakan saat useConfigMapFile = false && command != login && command != logout.

Menentukan kunci dan nilai harfiah untuk disisipkan dalam configMap. Misalnya, --from-literal=key1=value1 atau --from-literal=key2="top secret".


versionOrLocation - Kubectl
string. Nilai yang diizinkan: version, location (Tentukan lokasi). Nilai default: version.

kubectl adalah antarmuka baris perintah untuk menjalankan perintah terhadap kluster Kubernetes.


versionOrLocation - Kubectl
string. Opsional. Gunakan saat command != login && command != logout. Nilai yang diizinkan: version, location (Tentukan lokasi). Nilai default: version.

kubectl adalah antarmuka baris perintah untuk menjalankan perintah terhadap kluster Kubernetes.


versionSpec - Spesifikasi versi
string. Pilihan. Gunakan saat versionOrLocation = version. Nilai default: 1.13.2.

Menentukan spesifikasi versi dari versi yang akan didapatkan. Contoh: 1.7.0, , 1.x.04.x.0, 6.10.0, >=6.10.0.


versionSpec - Spesifikasi versi
string. Pilihan. Gunakan saat versionOrLocation = version && command != login && command != logout. Nilai default: 1.7.0.

-18-2 Menentukan spesifikasi versi dari versi yang akan didapatkan. Contoh: 1.7.0, , 1.x.04.x.0, 6.10.0, >=6.10.0.


checkLatest - Periksa versi terbaru
boolean. Pilihan. Gunakan saat versionOrLocation = version. Nilai default: false.

Selalu periksa secara online untuk versi terbaru yang tersedia (stable.txt) yang memenuhi spesifikasi versi. Ini biasanya salah kecuali Anda memiliki skenario tertentu untuk selalu mendapatkan yang terbaru. Ini akan menyebabkannya dikenakan biaya unduhan ketika berpotensi tidak diperlukan, terutama dengan kumpulan build yang dihosting.


checkLatest - Periksa versi terbaru
boolean. Pilihan. Gunakan saat versionOrLocation = version && command != login && command != logout. Nilai default: false.

Selalu periksa secara online untuk versi terbaru yang tersedia (stable.txt) yang memenuhi spesifikasi versi. Ini biasanya salah kecuali Anda memiliki skenario tertentu untuk selalu mendapatkan yang terbaru. Ini akan menyebabkannya dikenakan biaya unduhan ketika berpotensi tidak diperlukan, terutama dengan kumpulan build yang dihosting.


specifyLocation - Jalur ke kubectl
string. Diperlukan saat versionOrLocation = location.

Menentukan jalur lengkap ke kubectl.exe file.


specifyLocation - Jalur ke kubectl
string. Diperlukan saat versionOrLocation = location && command != login && command != logout.

Menentukan jalur lengkap ke kubectl.exe file.


workingDirectory - Direktori kerja
Alias input: cwd. string. Nilai default: $(System.DefaultWorkingDirectory).

Direktori kerja untuk perintah Kubectl.


workingDirectory - Direktori kerja
Alias input: cwd. string. Pilihan. Gunakan saat command != login && command != logout. Nilai default: $(System.DefaultWorkingDirectory).

Direktori kerja untuk perintah Kubectl.


outputFormat - Format output
string. Nilai yang diizinkan: json, yaml, dan none. Nilai default: json.

Format output.


outputFormat - Format output
string. Nilai yang diizinkan: json, yaml. Nilai default: json.

Format output.


outputFormat - Format output
string. Opsional. Gunakan saat command != login && command != logout. Nilai yang diizinkan: json, yaml. Nilai default: json.

Format output.


Opsi kontrol tugas

Semua tugas memiliki opsi kontrol selain input tugas mereka. Untuk informasi selengkapnya, lihat Opsi kontrol dan properti tugas umum.

Variabel output

Tugas ini mendefinisikan variabel output berikut, yang dapat Anda konsumsi dalam langkah-langkah hilir, pekerjaan, dan tahapan.

KubectlOutput
Menyimpan output perintah kubectl .

Keterangan

Apa yang baru di Versi 1.0.

  • Menambahkan input jenis koneksi layanan baru untuk memudahkan pemilihan kluster Azure AKS.
  • Mengganti input variabel output dengan bagian variabel output yang kami tambahkan di semua tugas.

Gunakan tugas ini untuk menyebarkan, mengonfigurasi, atau memperbarui kluster Kubernetes dengan menjalankan perintah kubectl.

Koneksi layanan

Tugas ini berfungsi dengan dua jenis koneksi layanan: Azure Resource Manager dan Koneksi Layanan Kubernetes, dijelaskan di bawah ini.

Azure Resource Manager

Atur connectionType ke Azure Resource Manager dan tentukan azureSubscriptionEndpoint untuk menggunakan koneksi layanan Azure Resource Manager.

Contoh YAML ini menunjukkan bagaimana Azure Resource Manager digunakan untuk merujuk ke kluster Kubernetes. Ini akan digunakan dengan salah satu perintah kubectl dan nilai yang sesuai yang diperlukan oleh perintah .

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)

Koneksi Layanan Kubernetes

Atur connectionType ke Kubernetes Service Connection dan tentukan kubernetesServiceEndpoint untuk menggunakan koneksi layanan Kubernetes.

Contoh YAML ini menunjukkan bagaimana Koneksi Layanan Kubernetes digunakan untuk merujuk ke kluster Kubernetes. Ini akan digunakan dengan salah satu perintah kubectl dan nilai yang sesuai yang diperlukan oleh perintah .

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

Pertimbangan Koneksi Layanan Kubernetes saat mengakses AKS

Anda dapat membuat koneksi layanan Kubernetes dengan salah satu opsi berikut.

  • KubeConfig
  • Akun Layanan
  • Azure Subscription

Cuplikan layar memilih metode autentikasi koneksi layanan Kubernetes.

Saat memilih opsi Langganan Azure , Kubernetes harus dapat diakses oleh Azure DevOps pada waktu konfigurasi koneksi layanan. Mungkin ada berbagai alasan koneksi layanan tidak dapat dibuat, misalnya Anda membuat kluster privat atau kluster menonaktifkan akun lokal. Dalam kasus ini, Azure DevOps tidak dapat tersambung ke kluster Anda pada waktu konfigurasi koneksi layanan dan Anda akan melihat layar Memuat namespace layanan yang macet.

Cuplikan layar memilih dialog autentikasi koneksi layanan Kubernetes macet saat memuat namespace layanan.

Dimulai dengan Kubernetes 1.24, token berumur panjang tidak lagi dibuat secara default. Kubernetes merekomendasikan untuk tidak menggunakan token berumur panjang. Akibatnya, tugas yang menggunakan koneksi layanan Kubernetes yang dibuat dengan opsi Langganan Azure tidak memiliki akses ke token permanen yang diperlukan untuk mengautentikasi dan tidak dapat mengakses kluster Kubernetes Anda. Ini juga menghasilkan dialog namespace layanan Pemuatan yang dibekukan.

Menggunakan Azure Resource Manager Service Connection untuk mengakses AKS

Untuk pelanggan AKS, jenis koneksi layanan Azure Resource Manager menyediakan metode terbaik untuk terhubung ke kluster privat, atau kluster yang menonaktifkan akun lokal. Metode ini tidak bergantung pada konektivitas kluster pada saat Anda membuat koneksi layanan. Akses ke AKS ditangguhkan ke runtime alur, yang memiliki keuntungan berikut:

  • Akses ke kluster AKS (privat) dapat dilakukan dari agen yang dihost sendiri atau set skala dengan garis pandang ke kluster.
  • Token dibuat untuk setiap tugas yang menggunakan koneksi layanan Azure Resource Manager. Ini memastikan Anda terhubung ke Kubernetes dengan token berumur pendek, yang merupakan rekomendasi Kubernetes.
  • AKS dapat diakses bahkan ketika akun lokal dinonaktifkan.

Tanya Jawab Umum koneksi layanan

Saya menerima pesan kesalahan berikut: Tidak dapat menemukan rahasia apa pun yang terkait dengan akun layanan. Apa yang terjadi?

Anda menggunakan koneksi layanan Kubernetes dengan opsi Langganan Azure. Kami memperbarui metode ini untuk membuat token berumur panjang. Ini diperkirakan akan tersedia pertengahan Mei. Namun, disarankan untuk mulai menggunakan jenis koneksi layanan Azure dan tidak menggunakan token berumur panjang sesuai panduan Kubernetes.

Saya menggunakan AKS dan tidak ingin mengubah apa pun, dapatkah saya terus menggunakan tugas dengan koneksi layanan Kubernetes?

Kami memperbarui metode ini untuk membuat token berumur panjang. Ini diperkirakan akan tersedia pertengahan Mei. Namun, perlu diketahui bahwa pendekatan ini bertentangan dengan panduan Kubernetes.

Saya menggunakan tugas Kubernetes dan koneksi layanan Kubernetes tetapi bukan AKS. Haruskah aku khawatir?

Tugas Anda akan terus berfungsi seperti sebelumnya.

Apakah jenis koneksi layanan Kubernetes akan dihapus?

Tugas Kubernetes kami bekerja dengan kluster Kubernetes apa pun, di mana pun mereka berjalan. Koneksi layanan Kubernetes akan terus ada.

Saya pelanggan AKS dan semuanya berjalan dengan baik, haruskah saya bertindak?

Tidak perlu mengubah apa pun. Jika Anda menggunakan koneksi layanan Kubernetes dan Langganan Azure yang dipilih selama pembuatan, Anda harus mengetahui panduan Kubernetes tentang menggunakan token berumur panjang.

Saya membuat Lingkungan Kubernetes, dan tidak memiliki opsi untuk menggunakan koneksi layanan

Jika Anda tidak dapat mengakses AKS selama waktu pembuatan lingkungan, Anda dapat menggunakan lingkungan kosong dan mengatur connectionType input ke koneksi layanan Azure Resource Manager.

Saya memiliki AKS yang dikonfigurasi dengan Azure Active Directory RBAC, dan alur saya tidak berfungsi. Apakah pembaruan ini akan menyelesaikannya?

Mengakses Kubernetes ketika AAD RBAC diaktifkan tidak terkait dengan pembuatan token. Untuk mencegah prompt interaktif, kami akan mendukung kubelogin di pembaruan mendatang.

Perintah

Input perintah menerima perintah kubectl.

Contoh YAML ini menunjukkan perintah terapkan :

- 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

Contoh YAML ini menunjukkan penggunaan file konfigurasi dengan perintah terapkan :

- 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

Contoh YAML ini menunjukkan penggunaan cara menggunakan perintah skala untuk mengurangi jumlah replika dalam penyebaran menjadi 0.

- 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)

Secret

Objek Kubernetes jenis rahasia dimaksudkan untuk menyimpan informasi sensitif seperti kata sandi, token OAuth, dan kunci ssh. Menempatkan informasi ini dalam rahasia lebih aman dan lebih fleksibel daripada menempatkannya secara verbatim dalam definisi pod atau dalam gambar Docker. Azure Pipelines menyederhanakan penambahan ImagePullSecrets ke akun layanan, atau menyiapkan rahasia generik apa pun, seperti yang dijelaskan di bawah ini.

ImagePullSecret

Contoh YAML ini menunjukkan pengaturan ImagePullSecrets:

    - 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

Rahasia Generik

Contoh YAML ini membuat rahasia generik dari nilai harfiah yang ditentukan untuk input secretArguments :

    - 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

Variabel alur dapat digunakan untuk meneruskan argumen untuk menentukan nilai harfiah, seperti yang ditunjukkan di sini:

    - 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

ConfigMaps memungkinkan Anda memisahkan artefak konfigurasi dari konten gambar untuk mempertahankan portabilitas untuk aplikasi dalam kontainer.

Contoh YAML ini membuat ConfigMap dengan menunjuk ke file ConfigMap:

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

Contoh YAML ini membuat ConfigMap dengan menentukan nilai harfiah secara langsung sebagai input configMapArguments , dan mengatur forceUpdate ke true:

    - 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

Anda dapat menggunakan variabel alur untuk meneruskan nilai harfiah saat membuat ConfigMap, seperti yang ditunjukkan di sini:

    - 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)

Pemecahan Masalah

Kluster Kubernetes saya berada di belakang firewall dan saya menggunakan agen yang dihosting. Bagaimana cara menyebarkan ke kluster ini?

Anda dapat memberikan akses kepada agen yang dihosting melalui firewall Anda dengan mengizinkan alamat IP untuk agen yang dihosting. Untuk detail selengkapnya, lihat Rentang IP agen

Persyaratan

Persyaratan Deskripsi
Jenis alur YAML, Build klasik, Rilis klasik
Berjalan pada Agen, DeploymentGroup
Permintaan Tidak ada
Kemampuan Tugas ini tidak memenuhi tuntutan untuk tugas berikutnya dalam pekerjaan.
Pembatasan perintah Apa pun
Variabel yang dapat diatur Apa pun
Versi agen Semua versi agen yang didukung.
Kategori tugas Sebarkan