Udostępnij za pośrednictwem


Kubernetes@1 — zadanie Kubectl w wersji 1

Wdróż, skonfiguruj, zaktualizuj klaster Kubernetes w usłudze Azure Container Service, uruchamiając polecenia kubectl.

Wdróż, skonfiguruj i zaktualizuj klaster Kubernetes w usłudze Azure Container Service, uruchamiając polecenia kubectl.

Składnia

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

Dane wejściowe

connectionType - Typ połączenia z usługą
string. Wymagane, gdy command != logout. Dozwolone wartości: Azure Resource Manager, , NoneKubernetes Service Connection. Wartość domyślna: Kubernetes Service Connection.

Określa typ połączenia usługi: Azure Resource Manager podczas korzystania z Azure Kubernetes Service lub połączenia usługi Kubernetes Service dla dowolnego innego klastra.

  • Kubernetes Service Connection — Umożliwia podanie pliku KubeConfig, określenie konta usługi lub zaimportowanie wystąpienia usługi AKS z opcją Subskrypcja platformy Azure . Importowanie wystąpienia usługi AKS z opcją Subskrypcja platformy Azure wymaga dostępu do klastra Kubernetes w czasie konfiguracji połączenia z usługą.
  • Azure Resource Manager — Umożliwia wybranie wystąpienia usługi AKS. Nie uzyskuje dostępu do klastra Kubernetes w czasie konfiguracji połączenia z usługą.
  • None — Użyj wstępnie utworzonej konfiguracji platformy Kubernetes przechowywanej lokalnie.

Aby uzyskać więcej informacji, zobacz Połączenie z usługą w poniższej sekcji Uwagi .


connectionType - Typ połączenia z usługą
string. Wymagane, gdy command != logout. Dozwolone wartości: Azure Resource Manager, , NoneKubernetes Service Connection. Wartość domyślna: Azure Resource Manager.

Określa typ połączenia usługi: Azure Resource Manager podczas korzystania z Azure Kubernetes Service lub połączenia usługi Kubernetes Service dla dowolnego innego klastra.


kubernetesServiceEndpoint - Połączenie usługi Kubernetes
string. Wymagane, gdy connectionType = Kubernetes Service Connection && command != logout.

Wybierz połączenie usługi Kubernetes.


azureSubscriptionEndpoint - Subskrypcja platformy Azure
string. Wymagane, gdy connectionType = Azure Resource Manager && command != logout.

Określa subskrypcję usługi Azure Resource Manager, która zawiera Azure Container Registry.

Uwaga

Aby skonfigurować nowe połączenie z usługą, określ subskrypcję platformy Azure z listy i kliknij pozycję Authorize. Jeśli twoja subskrypcja nie znajduje się na liście lub jeśli chcesz użyć istniejącej jednostki usługi, możesz skonfigurować połączenie usługi platformy Azure przy użyciu Add przycisków lub Manage .


azureResourceGroup - Grupa zasobów
string. Wymagane, gdy connectionType = Azure Resource Manager && command != logout.

Wybierz grupę zasobów platformy Azure.


kubernetesCluster - Klaster Kubernetes
string. Wymagane, gdy connectionType = Azure Resource Manager && command != logout.

Wybierz klaster zarządzany platformy Azure.


useClusterAdmin - Używanie poświadczeń administratora klastra
boolean. Opcjonalny. Użyj polecenia , gdy connectionType = Azure Resource Manager && command != logout. Wartość domyślna: false.

Użyj poświadczeń administratora klastra zamiast domyślnych poświadczeń użytkownika klastra.


namespace - Obszaru nazw
string. Opcjonalny. Użyj polecenia , gdy command != logout.

Ustaw przestrzeń nazw dla polecenia kubectl przy użyciu flagi –namespace. Jeśli przestrzeń nazw nie zostanie podana, polecenia będą uruchamiane w domyślnej przestrzeni nazw.


command - Polecenia
string. Dozwolone wartości: apply, createdeleteloginlogoutexecrunexposetopgetlogsset.

Wybierz lub określ polecenie kubectl do uruchomienia. Lista dozwolonych wartości zawiera kilka typowych opcji ułatwiania wyboru podczas korzystania z asystent zadania, ale można określić inne polecenia kubectl, takie jak scale. Użyj danych wejściowych arguments , aby określić dodatkowe parametry określonego kubectl polecenia.


command - Polecenia
string. Wymagane. Dozwolone wartości: apply, createdeleteloginlogoutexecrunexposetopgetlogsset. Wartość domyślna: apply.

Wybierz lub określ polecenie kubectl do uruchomienia.


useConfigurationFile - Korzystanie z konfiguracji
boolean. Opcjonalny. Użyj polecenia , gdy command != login && command != logout. Wartość domyślna: false.

Określa konfigurację platformy Kubernetes do użycia z poleceniem kubectl . Można podać wbudowany skrypt, nazwę pliku, katalog lub adres URL do plików konfiguracji platformy Kubernetes.


useConfigurationFile - Korzystanie z plików konfiguracji
boolean. Opcjonalny. Użyj polecenia , gdy command != login && command != logout. Wartość domyślna: false.

Określa konfigurację platformy Kubernetes do użycia z poleceniem kubectl . Można podać wbudowany skrypt, nazwę pliku, katalog lub adres URL do plików konfiguracji platformy Kubernetes.


configurationType - Typ konfiguracji
string. Opcjonalny. Użyj polecenia , gdy useConfigurationFile = true. Dozwolone wartości: configuration (ścieżka pliku), inline (konfiguracja śródliniowa). Wartość domyślna: configuration.

Określa typ konfiguracji platformy Kubernetes dla kubectl polecenia. Może to być ścieżka pliku lub skrypt wbudowany.


configuration - Ścieżka pliku
string. Wymagane, gdy configurationType = configuration.

Określa nazwę pliku, katalog lub adres URL do plików konfiguracji kubernetes używanych z poleceniami.


configuration - Plik konfiguracji
string. Wymagane, gdy useConfigurationFile = true.

Określa nazwę pliku, katalog lub adres URL do plików konfiguracji kubernetes używanych z poleceniami.


inline - Konfiguracja śródliniowa
string. Wymagane, gdy configurationType = inline.

Określa konfigurację wdrożenia wbudowanego kubectl dla polecenia .


arguments - Argumenty
string. Opcjonalny. Użyj polecenia , gdy command != login && command != logout.

Argumenty określonego polecenia kubectl.


secretType - Typ wpisu tajnego
string. Wymagane, gdy command != login && command != logout. Dozwolone wartości: dockerRegistry, generic. Wartość domyślna: dockerRegistry.

Utwórz/zaktualizuj ogólny lub docker imagepullsecret. Wybierz pozycję dockerRegistry, aby utworzyć/zaktualizować obrazpullsecret wybranego rejestru. ImagePullSecret to sposób przekazywania wpisu tajnego zawierającego hasło rejestru kontenerów do rozwiązania Kubelet, dzięki czemu może ściągać prywatny obraz w imieniu zasobnika.


secretArguments - Argumenty
string. Opcjonalny. Użyj polecenia , gdy secretType = generic && command != login && command != logout.

Określa klucze i wartości literału do wstawienia w wpisie tajnym. Na przykład --from-literal=key1=value1lub --from-literal=key2="top secret".


containerRegistryType - Typ rejestru kontenerów
string. Wymagane, gdy secretType = dockerRegistry && command != login && command != logout. Dozwolone wartości: Azure Container Registry, Container Registry. Wartość domyślna: Azure Container Registry.

Wybierz typ rejestru kontenerów. Zadanie może używać szczegółów subskrypcji platformy Azure do pracy z rejestrem kontenerów platformy Azure. Obsługiwane są również inne standardowe rejestry kontenerów.


dockerRegistryEndpoint - Połączenie usługi rejestru platformy Docker
string. Opcjonalny. Użyj polecenia , gdy secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout.

Wybierz połączenie usługi rejestru platformy Docker. Wymagane w przypadku poleceń, które muszą być uwierzytelniane w rejestrze.


azureSubscriptionEndpointForSecrets - Subskrypcja platformy Azure
string. Opcjonalny. Użyj polecenia , gdy secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout.

Określa subskrypcję usługi Azure Resource Manager, która zawiera Azure Container Registry.

Uwaga

Aby skonfigurować nowe połączenie z usługą, wybierz subskrypcję platformy Azure z listy i kliknij pozycję Authorize. Jeśli twoja subskrypcja nie znajduje się na liście lub jeśli chcesz użyć istniejącej jednostki usługi, możesz skonfigurować połączenie usługi platformy Azure przy użyciu Add przycisków lub Manage .


azureContainerRegistry - Rejestr kontenerów platformy Azure
string. Opcjonalny. Użyj polecenia , gdy secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout.

Określa Azure Container Registry, który jest używany do ściągania obrazów kontenerów i wdrażania aplikacji w klastrze Kubernetes. Wymagane w przypadku poleceń, które muszą być uwierzytelniane w rejestrze.


secretName - Nazwa wpisu tajnego
string. Opcjonalny. Użyj polecenia , gdy command != login && command != logout.

Nazwa wpisu tajnego. Tę nazwę wpisu tajnego można użyć w pliku konfiguracji YAML kubernetes.


forceUpdate - Wymuś aktualizację wpisu tajnego
boolean. Opcjonalny. Użyj polecenia , gdy command != login && command != logout. Wartość domyślna: true.

Usuń wpis tajny, jeśli istnieje i utwórz nowy z zaktualizowanymi wartościami.


configMapName - Nazwa mapy konfiguracji
string. Opcjonalny. Użyj polecenia , gdy command != login && command != logout.

ConfigMaps umożliwia oddzielenie artefaktów konfiguracji z zawartości obrazu w celu przenoszenia konteneryzowanych aplikacji.


forceUpdateConfigMap - Wymuś aktualizację mapy konfiguracji
boolean. Opcjonalny. Użyj polecenia , gdy command != login && command != logout. Wartość domyślna: false.

Usuń mapę konfiguracji, jeśli istnieje i utwórz nową z zaktualizowanymi wartościami.


useConfigMapFile - Korzystanie z pliku
boolean. Opcjonalny. Użyj polecenia , gdy command != login && command != logout. Wartość domyślna: false.

Tworzy obiekt ConfigMap z pojedynczego pliku lub z wielu plików, określając katalog.


configMapFile - Plik ConfigMap
string. Wymagane, gdy useConfigMapFile = true && command != login && command != logout.

Określ plik lub katalog zawierający configMaps.


configMapArguments - Argumenty
string. Opcjonalny. Użyj polecenia , gdy useConfigMapFile = false && command != login && command != logout.

Określa klucze i wartości literału do wstawienia w pliku configMap. Na przykład: --from-literal=key1=value1 lub --from-literal=key2="top secret".


versionOrLocation - Kubectl
string. Dozwolone wartości: version, location (Określ lokalizację). Wartość domyślna: version.

kubectl to interfejs wiersza polecenia do uruchamiania poleceń w klastrach Kubernetes.


versionOrLocation - Kubectl
string. Opcjonalny. Użyj polecenia , gdy command != login && command != logout. Dozwolone wartości: version, location (Określ lokalizację). Wartość domyślna: version.

kubectl to interfejs wiersza polecenia do uruchamiania poleceń w klastrach Kubernetes.


versionSpec - Specyfikacja wersji
string. Opcjonalny. Użyj polecenia , gdy versionOrLocation = version. Wartość domyślna: 1.13.2.

Określa specyfikację wersji, która ma być pobierana. Przykłady: 1.7.0, , 4.x.01.x.0, 6.10.0, >=6.10.0.


versionSpec - Specyfikacja wersji
string. Opcjonalny. Użyj polecenia , gdy versionOrLocation = version && command != login && command != logout. Wartość domyślna: 1.7.0.

-18-2 Określa specyfikację wersji do pobrania. Przykłady: 1.7.0, , 4.x.01.x.0, 6.10.0, >=6.10.0.


checkLatest - Sprawdzanie najnowszej wersji
boolean. Opcjonalny. Użyj polecenia , gdy versionOrLocation = version. Wartość domyślna: false.

Zawsze sprawdza w trybie online najnowszą dostępną wersję (stable.txt), która spełnia specyfikację wersji. Zazwyczaj jest to fałsz, chyba że masz określony scenariusz, aby zawsze uzyskiwać najnowsze informacje. Spowoduje to naliczenie kosztów pobierania, jeśli potencjalnie nie jest to konieczne, zwłaszcza w przypadku hostowanej puli kompilacji.


checkLatest - Sprawdzanie najnowszej wersji
boolean. Opcjonalny. Użyj polecenia , gdy versionOrLocation = version && command != login && command != logout. Wartość domyślna: false.

Zawsze sprawdza w trybie online najnowszą dostępną wersję (stable.txt), która spełnia specyfikację wersji. Zazwyczaj jest to fałsz, chyba że masz określony scenariusz, aby zawsze uzyskiwać najnowsze informacje. Spowoduje to naliczenie kosztów pobierania, jeśli potencjalnie nie jest to konieczne, zwłaszcza w przypadku hostowanej puli kompilacji.


specifyLocation - Ścieżka do narzędzia kubectl
string. Wymagane, gdy versionOrLocation = location.

Określa pełną ścieżkę kubectl.exe do pliku.


specifyLocation - Ścieżka do narzędzia kubectl
string. Wymagane, gdy versionOrLocation = location && command != login && command != logout.

Określa pełną ścieżkę kubectl.exe do pliku.


workingDirectory - Katalog roboczy
Alias wejściowy: cwd. string. Wartość domyślna: $(System.DefaultWorkingDirectory).

Katalog roboczy polecenia Kubectl.


workingDirectory - Katalog roboczy
Alias wejściowy: cwd. string. Opcjonalny. Użyj polecenia , gdy command != login && command != logout. Wartość domyślna: $(System.DefaultWorkingDirectory).

Katalog roboczy polecenia Kubectl.


outputFormat - Format danych wyjściowych
string. Dozwolone wartości: json, , noneyaml. Wartość domyślna: json.

Format danych wyjściowych.


outputFormat - Format danych wyjściowych
string. Dozwolone wartości: json, yaml. Wartość domyślna: json.

Format danych wyjściowych.


outputFormat - Format danych wyjściowych
string. Opcjonalny. Użyj polecenia , gdy command != login && command != logout. Dozwolone wartości: json, yaml. Wartość domyślna: json.

Format danych wyjściowych.


Opcje sterowania zadania

Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.

Zmienne wyjściowe

To zadanie definiuje następujące zmienne wyjściowe, które można używać w krokach podrzędnych, zadaniach i etapach.

KubectlOutput
Przechowuje dane wyjściowe kubectl polecenia.

Uwagi

Co nowego w wersji 1.0.

  • Dodano nowe dane wejściowe typu połączenia usługi w celu łatwego wyboru klastrów usługi Azure AKS.
  • Zamieniono dane wejściowe zmiennej wyjściowej na sekcję zmiennych wyjściowych dodaną we wszystkich zadaniach.

To zadanie służy do wdrażania, konfigurowania lub aktualizowania klastra Kubernetes, uruchamiając polecenia kubectl.

Połączenie z usługą

Zadanie współpracuje z dwoma typami połączeń usługi: Azure Resource Manager i Połączenie z usługą Kubernetes Service, opisane poniżej.

Azure Resource Manager

Ustaw connectionType wartość i Azure Resource Manager określ parametr azureSubscriptionEndpoint , aby użyć połączenia usługi Azure Resource Manager.

W tym przykładzie YAML pokazano, jak usługa Azure Resource Manager jest używana do odwoływania się do klastra Kubernetes. Jest to używane z jednym z poleceń kubectl i odpowiednimi wartościami wymaganymi przez polecenie .

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)

Połączenie usługi Kubernetes Service

Ustaw connectionType wartość i Kubernetes Service Connection określ parametr , kubernetesServiceEndpoint aby użyć połączenia usługi Kubernetes.

W tym przykładzie YAML pokazano, jak połączenie usługi Kubernetes Service jest używane do odwoływania się do klastra Kubernetes. Jest to używane z jednym z poleceń kubectl i odpowiednimi wartościami wymaganymi przez polecenie .

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

Zagadnienia dotyczące połączenia z usługą Kubernetes podczas uzyskiwania dostępu do usługi AKS

Możesz utworzyć połączenie usługi Kubernetes z dowolną z poniższych opcji.

  • KubeConfig
  • Konto usługi
  • Subskrypcja platformy Azure

Zrzut ekranu przedstawiający wybieranie metody uwierzytelniania połączenia usługi Kubernetes.

Podczas wybierania opcji Subskrypcja platformy Azure platforma Kubernetes musi być dostępna dla usługi Azure DevOps w czasie konfiguracji połączenia z usługą. Może istnieć różne przyczyny, dla których nie można utworzyć połączenia z usługą, na przykład utworzono klaster prywatny lub klaster ma wyłączone konta lokalne. W takich przypadkach usługa Azure DevOps nie może nawiązać połączenia z klastrem w czasie konfiguracji połączenia z usługą i zostanie wyświetlony ekran Ładowanie przestrzeni nazw .

Zrzut ekranu przedstawiający wybieranie okna dialogowego uwierzytelniania połączenia usługi Kubernetes zablokowanego podczas ładowania przestrzeni nazw.

Począwszy od platformy Kubernetes 1.24, tokeny długotrwałe nie są już tworzone domyślnie. Platforma Kubernetes zaleca, aby nie używać tokenów długotrwałych. W związku z tym zadania korzystające z połączenia usługi Kubernetes utworzonego z opcją Subskrypcja platformy Azure nie mają dostępu do trwałego tokenu wymaganego do uwierzytelnienia i nie mogą uzyskać dostępu do klastra Kubernetes. Spowoduje to również zablokowanie okna dialogowego Ładowanie przestrzeni nazw .

Uzyskiwanie dostępu do usługi AKS za pomocą połączenia usługi Azure Resource Manager Service

W przypadku klientów usługi AKS typ połączenia usługi Azure Resource Manager zapewnia najlepszą metodę nawiązywania połączenia z klastrem prywatnym lub klastrem z wyłączonymi kontami lokalnymi. Ta metoda nie jest zależna od łączności klastra w czasie tworzenia połączenia z usługą. Dostęp do usługi AKS jest odroczony do środowiska uruchomieniowego potoku, co ma następujące zalety:

  • Dostęp do klastra usługi AKS (prywatnego) można wykonać z własnego agenta lub zestawu skalowania z linią wzroku do klastra.
  • Token jest tworzony dla każdego zadania korzystającego z połączenia usługi Azure Resource Manager. Gwarantuje to nawiązanie połączenia z platformą Kubernetes przy użyciu krótkotrwałego tokenu, który jest zaleceniem platformy Kubernetes.
  • Dostęp do usługi AKS można uzyskać nawet wtedy, gdy konta lokalne są wyłączone.

Często zadawane pytania dotyczące połączenia z usługą

Otrzymuję następujący komunikat o błędzie: Nie można odnaleźć żadnego wpisu tajnego skojarzonego z kontem usługi. Co się dzieje?

Używasz połączenia usługi Kubernetes z opcją Subskrypcja platformy Azure. Aktualizujemy tę metodę w celu utworzenia tokenów długotrwałych. Oczekuje się, że będzie to dostępne w połowie maja. Zaleca się jednak rozpoczęcie korzystania z typu połączenia usługi platformy Azure, a nie używanie tokenów długotrwałych zgodnie ze wskazówkami dotyczącymi platformy Kubernetes.

Używam usługi AKS i nie chcę nic zmieniać. Czy mogę nadal używać zadań z połączeniem usługi Kubernetes?

Aktualizujemy tę metodę w celu utworzenia tokenów długotrwałych. Oczekuje się, że będzie to dostępne w połowie maja. Należy jednak pamiętać, że takie podejście jest sprzeczne ze wskazówkami dotyczącymi platformy Kubernetes.

Używam zadań platformy Kubernetes i połączenia usługi Kubernetes, ale nie usługi AKS. Czy powinienem się martwić?

Zadania będą nadal działać tak jak wcześniej.

Czy typ połączenia usługi Kubernetes zostanie usunięty?

Nasze zadania Kubernetes współpracują z dowolnym klastrem Kubernetes, niezależnie od tego, gdzie są uruchomione. Połączenie usługi Kubernetes będzie nadal istnieć.

Jestem klientem usługi AKS i wszystko działa prawidłowo, czy powinienem działać?

Nie trzeba nic zmieniać. Jeśli używasz połączenia usługi Kubernetes i wybranej subskrypcji platformy Azure podczas tworzenia, pamiętaj o wskazówkach dotyczących korzystania z tokenów długotrwałych na platformie Kubernetes.

Tworzysz środowisko Kubernetes i nie mam możliwości korzystania z połączeń usług

Jeśli nie możesz uzyskać dostępu do usługi AKS w czasie tworzenia środowiska, możesz użyć pustego środowiska i ustawić connectionType dane wejściowe na połączenie usługi Azure Resource Manager.

Mam usługę AKS skonfigurowaną przy użyciu kontroli dostępu opartej na rolach usługi Azure Active Directory, a mój potok nie działa. Czy te aktualizacje zostaną rozwiązane?

Uzyskiwanie dostępu do platformy Kubernetes po włączeniu kontroli dostępu opartej na rolach usługi AAD nie jest związane z tworzeniem tokenów. Aby zapobiec interakcyjnemu monitowi, będziemy obsługiwać rozwiązanie kubelogin w przyszłej aktualizacji.

Polecenia

Dane wejściowe polecenia akceptują polecenia kubectl.

W tym przykładzie YAML pokazano polecenie apply :

- 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

W tym przykładzie YAML pokazano użycie pliku konfiguracji za pomocą polecenia apply :

- 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

W tym przykładzie YAML pokazano, jak za pomocą polecenia skalowania zmniejszyć liczbę replik we wdrożeniu do 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)

Wpisy tajne

Obiekty typu secret platformy Kubernetes mają przechowywać poufne informacje, takie jak hasła, tokeny OAuth i klucze SSH. Umieszczenie tych informacji w wpisie tajnym jest bezpieczniejsze i bardziej elastyczne niż umieszczenie ich w definicji zasobnika lub w obrazie platformy Docker. Usługa Azure Pipelines upraszcza dodawanie ImagePullSecrets konta usługi lub konfigurowanie dowolnego ogólnego wpisu tajnego, jak opisano poniżej.

ImagePullSecret

W tym przykładzie YAML pokazano konfigurowanie elementu 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

Wpisy tajne ogólne

Ten przykład YAML tworzy ogólne wpisy tajne na podstawie wartości literałów określonych dla danych wejściowych 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

Zmienne potoku mogą służyć do przekazywania argumentów do określania wartości literałów, jak pokazano poniżej:

    - 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

Obiekty ConfigMap umożliwiają oddzielenie artefaktów konfiguracji z zawartości obrazu w celu zachowania przenośności dla konteneryzowanych aplikacji.

Ten przykład YAML tworzy obiekt ConfigMap, wskazując na plik ConfigMap:

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

Ten przykład YAML tworzy obiekt ConfigMap, określając wartości literału bezpośrednio jako dane wejściowe configMapArguments i ustawiając wartość forceUpdate na 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

Zmienne potoku umożliwiają przekazywanie wartości literałów podczas tworzenia obiektu ConfigMap, jak pokazano poniżej:

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

Rozwiązywanie problemów

Mój klaster Kubernetes jest za zaporą i używam agentów hostowanych. Jak można przeprowadzić wdrożenie w tym klastrze?

Dostępu hostowanym agentom można udzielić przez zaporę, zezwalając na adresy IP agentów hostowanych. Aby uzyskać więcej informacji, zobacz zakresy adresów IP agentów

Wymagania

Wymaganie Opis
Typy potoków YAML, klasyczna kompilacja, wersja klasyczna
Działa w Agent, DeploymentGroup
Wymagania Brak
Możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
Ograniczenia poleceń Dowolne
Zmienne ustawialne Dowolne
Wersja agenta Wszystkie obsługiwane wersje agenta.
Kategoria zadania Wdrażanie