Kubernetes@1 — zadanie Kubectl v1
Wdróż, skonfiguruj, zaktualizuj klaster Kubernetes w usłudze Azure Container Service, uruchamiając polecenia kubectl.
Wdróż, skonfiguruj, 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.
Wejścia
typ połączenia usługi connectionType
-
string
. Wymagane, gdy command != logout
. Dozwolone wartości: Azure Resource Manager
, Kubernetes Service Connection
, None
. Wartość domyślna: Kubernetes Service Connection
.
Określa typ połączenia z usługą: Azure Resource Manager podczas korzystania z usługi Azure Kubernetes Service lub Połączenia usługi Kubernetes 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ą subskrypcji platformy Azure. Importowanie wystąpienia usługi AKS przy użyciu opcji subskrypcji 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 kubernetes przechowywanej lokalnie.
Aby uzyskać więcej informacji, zobacz Service connection w poniższej sekcji Uwagi.
typ połączenia usługi connectionType
-
string
. Wymagane, gdy command != logout
. Dozwolone wartości: Azure Resource Manager
, Kubernetes Service Connection
, None
. Wartość domyślna: Azure Resource Manager
.
Określa typ połączenia z usługą: Azure Resource Manager podczas korzystania z usługi Azure Kubernetes Service lub Połączenia usługi Kubernetes dla dowolnego innego klastra.
połączenia usługi kubernetesServiceEndpoint
- Kubernetes
string
. Wymagane, gdy connectionType = Kubernetes Service Connection && command != logout
.
Wybierz połączenie usługi Kubernetes.
subskrypcji platformy Azure azureSubscriptionEndpoint
-
string
. Wymagane, gdy connectionType = Azure Resource Manager && command != logout
.
Określa subskrypcję usługi Azure Resource Manager, która zawiera usługę Azure Container Registry.
Nuta
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 przycisków Add
lub Manage
.
grupy zasobów azureResourceGroup
-
string
. Wymagane, gdy connectionType = Azure Resource Manager && command != logout
.
Wybierz grupę zasobów platformy Azure.
kubernetesCluster
-
klastra Kubernetes
string
. Wymagane, gdy connectionType = Azure Resource Manager && command != logout
.
Wybierz klaster zarządzany platformy Azure.
useClusterAdmin
-
Używanie poświadczeń administratora klastra
boolean
. Fakultatywny. 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.
przestrzeni nazw namespace
-
string
. Fakultatywny. 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
, create
, delete
, exec
, expose
, get
, login
, logout
, logs
, run
, set
, top
.
Wybierz lub określ polecenie kubectl do uruchomienia. Lista dozwolonych wartości zawiera kilka typowych opcji ułatwienia wyboru podczas korzystania z asystenta zadań, ale można określić inne polecenia kubectl, takie jak scale
. Użyj danych wejściowych arguments
, aby określić dodatkowe parametry określonego polecenia kubectl
.
command
-
polecenia
string
. Wymagane. Dozwolone wartości: apply
, create
, delete
, exec
, expose
, get
, login
, logout
, logs
, run
, set
, top
. Wartość domyślna: apply
.
Wybierz lub określ polecenie kubectl do uruchomienia.
useConfigurationFile
-
Użyj konfiguracji
boolean
. Fakultatywny. 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
-
Używanie plików konfiguracji
boolean
. Fakultatywny. 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
. Fakultatywny. 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 polecenia kubectl
. Może to być ścieżka pliku lub wbudowany skrypt.
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.
pliku konfiguracji configuration
-
string
. Wymagane, gdy useConfigurationFile = true
.
Określa nazwę pliku, katalog lub adres URL do plików konfiguracji kubernetes używanych z poleceniami.
inline
-
konfiguracji wbudowanej
string
. Wymagane, gdy configurationType = inline
.
Określa konfigurację wdrożenia wbudowanego dla polecenia kubectl
.
arguments
-
argumenty
string
. Fakultatywny. 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
.
Tworzenie/aktualizowanie obrazu ogólnego lub obrazu platformy Dockerpullsecret. Wybierz pozycję dockerRegistry, aby utworzyć/zaktualizować obrazpullsecret wybranego rejestru. ImagePullSecret to sposób przekazania wpisu tajnego zawierającego hasło rejestru kontenerów do rozwiązania Kubelet, aby mógł ściągnąć prywatny obraz w imieniu zasobnika.
secretArguments
-
argumenty
string
. Fakultatywny. Użyj polecenia , gdy secretType = generic && command != login && command != logout
.
Określa klucze i wartości literału, które mają być wstawione w kluczu tajnym. Na przykład --from-literal=key1=value1
lub --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łączenia usługi rejestru platformy Docker
string
. Fakultatywny. 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.
subskrypcji platformy Azure azureSubscriptionEndpointForSecrets
-
string
. Fakultatywny. 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 usługę Azure Container Registry.
Nuta
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 przycisków Add
lub Manage
.
azureContainerRegistry
-
usługi Azure Container Registry
string
. Fakultatywny. Użyj polecenia , gdy secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout
.
Określa usługę Azure Container Registry, która jest używana 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
. Fakultatywny. 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
-
wymuszanie wpisu tajnego aktualizacji
boolean
. Fakultatywny. 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 ConfigMap
string
. Fakultatywny. Użyj polecenia , gdy command != login && command != logout
.
Obiekty ConfigMap umożliwiają oddzielenie artefaktów konfiguracji z zawartości obrazu w celu zapewnienia przenośnego konteneryzowanych aplikacji.
forceUpdateConfigMap
-
wymuszanie mapy konfiguracji aktualizacji
boolean
. Fakultatywny. 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
-
Używanie plików
boolean
. Fakultatywny. Użyj polecenia , gdy command != login && command != logout
. Wartość domyślna: false
.
Tworzy ConfigMap
z pojedynczego pliku lub z wielu plików, określając katalog.
pliku ConfigMap configMapFile
-
string
. Wymagane, gdy useConfigMapFile = true && command != login && command != logout
.
Określ plik lub katalog zawierający configMaps.
configMapArguments
-
argumenty
string
. Fakultatywny. Użyj polecenia , gdy useConfigMapFile = false && command != login && command != logout
.
Określa klucze i wartości literału do wstawienia w 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
. Fakultatywny. 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
-
wersji
string
. Fakultatywny. 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
, 1.x.0
, 4.x.0
, 6.10.0
, >=6.10.0
.
versionSpec
-
wersji
string
. Fakultatywny. 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
, 1.x.0
, 4.x.0
, 6.10.0
, >=6.10.0
.
checkLatest
-
Sprawdzanie najnowszej wersji
boolean
. Fakultatywny. 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
. Fakultatywny. 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.
ścieżka specifyLocation
- do kubectl
string
. Wymagane, gdy versionOrLocation = location
.
Określa pełną ścieżkę do pliku kubectl.exe
.
ścieżka specifyLocation
- do kubectl
string
. Wymagane, gdy versionOrLocation = location && command != login && command != logout
.
Określa pełną ścieżkę do pliku kubectl.exe
.
katalogu roboczego workingDirectory
-
Alias wejściowy: cwd
.
string
. Wartość domyślna: $(System.DefaultWorkingDirectory)
.
Katalog roboczy polecenia Kubectl.
katalogu roboczego workingDirectory
-
Alias wejściowy: cwd
.
string
. Fakultatywny. 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
, yaml
, none
. Wartość domyślna: json
.
Format danych wyjściowych. Lista dozwolonych wartości zawiera kilka typowych opcji ułatwienia wyboru podczas korzystania z asystenta zadań, ale można określić inne opcje danych wyjściowych , takie jak jsonpath={.items[*].spec['initContainers', 'containers'][*].image}
.
outputFormat
-
format danych wyjściowych
string
. Dozwolone wartości: json
, yaml
. Wartość domyślna: json
.
Format danych wyjściowych. Lista dozwolonych wartości zawiera kilka typowych opcji ułatwienia wyboru podczas korzystania z asystenta zadań, ale można określić inne opcje danych wyjściowych , takie jak jsonpath={.items[*].spec['initContainers', 'containers'][*].image}
.
outputFormat
-
format danych wyjściowych
string
. Fakultatywny. Użyj polecenia , gdy command != login && command != logout
. Dozwolone wartości: json
, yaml
. Wartość domyślna: json
.
Format danych wyjściowych. Lista dozwolonych wartości zawiera kilka typowych opcji ułatwienia wyboru podczas korzystania z asystenta zadań, ale można określić inne opcje danych wyjściowych , takie jak jsonpath={.items[*].spec['initContainers', 'containers'][*].image}
.
Opcje sterowania zadaniami
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań podrzędnych. Aby uzyskać więcej informacji, zobacz opcje kontroli 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 polecenia kubectl
.
Uwagi
Co nowego w wersji 1.0.
- Dodano nowe dane wejściowe typu połączenia z usługą 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łączenia usługi Kubernetes Service , opisane poniżej.
Azure Resource Manager
Ustaw connectionType
na Azure Resource Manager
i określ azureSubscriptionEndpoint
, aby używać 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 odpowiednich wartości wymaganych 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
Ustaw connectionType
na Kubernetes Service Connection
i określ kubernetesServiceEndpoint
, aby używać połączenia usługi Kubernetes.
W tym przykładzie YAML pokazano, jak jest używane połączenie usługi Kubernetes w celu odwoływania się do klastra Kubernetes. Jest to używane z jednym z poleceń kubectl i odpowiednich wartości wymaganych 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
Podczas wybierania opcji subskrypcji platformy Azure platforma Kubernetes musi być dostępna dla usługi Azure DevOps w czasie konfiguracji połączenia z usługą. Nie można utworzyć połączenia z usługą z różnych powodów, na przykład utworzenia klastra prywatnego 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 zablokowany ładowanie przestrzeni nazw ekranu.
Począwszy od platformy Kubernetes 1.24, długotrwałe tokeny 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ą subskrypcji platformy Azure nie mają dostępu do tokenu trwałego wymaganego do uwierzytelniania i nie mogą uzyskać dostępu do klastra Kubernetes. Spowoduje to również zablokowanie ładowanie przestrzeni nazw okno dialogowe.
Uzyskiwanie dostępu do usługi AKS przy użyciu połączenia usługi Azure Resource Manager
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, który ma wyłączone konta lokalne. Ta metoda nie jest zależna od łączności klastra podczas 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 zestawu skalowania z widokiem do klastra.
- Token jest tworzony dla każdego zadania korzystającego z połączenia usługi Azure Resource Manager. Dzięki temu nawiąższ połączenie z platformą Kubernetes przy użyciu krótkotrwałego tokenu, który jest zaleceniem 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 długotrwałych tokenów. Oczekuje się, że będzie to dostępne w połowie maja. Zaleca się jednak rozpoczęcie korzystania z typu połączenia z usługą 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 długotrwałych tokenów. Oczekuje się, że będzie to dostępne w połowie maja. Należy jednak pamiętać, że takie podejście jest sprzeczne z wskazówki dotyczące 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 działają 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, należy pamiętać o wskazówkach dotyczących platformy Kubernetes dotyczących korzystania z tokenów długotrwałych.
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 skonfigurowaną usługę AKS z kontrolą dostępu opartą na rolach usługi Azure Active Directory, a mój potok nie działa. Czy te aktualizacje rozwiążą ten problem?
Uzyskiwanie dostępu do platformy Kubernetes w przypadku włączenia kontroli dostępu opartej na rolach usługi AAD nie jest związane z tworzeniem tokenu. Aby zapobiec monitowi interakcyjnemu, będziemy obsługiwać kubelogin w przyszłej aktualizacji.
Polecenia
Dane wejściowe polecenia akceptują polecenia polecenia kubectl.
W tym przykładzie YAML pokazano, apply polecenia:
- 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 z apply polecenia:
- 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 użycie polecenia skalowania w celu zmniejszenia liczby 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)
Tajemnice
Obiekty kubernetes typu tajne są przeznaczone do przechowywania poufnych informacji, takich 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
do 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 z wartości literałów określonych dla secretArguments danych wejściowych:
- 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łu, 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 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 configMapArguments danych wejściowych i ustawiając forceUpdate wartość 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 znajduje się za zaporą i używam hostowanych agentów. Jak mogę wdrożyć w tym klastrze?
Dostęp hostowanych agentów można udzielić za pośrednictwem zapory, zezwalając na adresy IP dla hostowanych agentów. Aby uzyskać więcej informacji, zobacz Zakresy adresów IP agenta
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa na | Agent, DeploymentGroup |
Wymagania | Żaden |
możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
ograniczenia poleceń | Jakikolwiek |
zmienne ustawiane | Jakikolwiek |
Wersja agenta | Wszystkie obsługiwane wersje agentów. |
Kategoria zadań | Wdrożyć |