Kubernetes@1 – úloha Kubectl v1
Spuštěním příkazů kubectl nasaďte, nakonfigurujte a aktualizujte cluster Kubernetes ve službě Azure Container Service.
Nasaďte, nakonfigurujte a aktualizujte cluster Kubernetes ve službě Azure Container Service spuštěním příkazů kubectl.
Syntax
# Kubectl v1
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands.
- task: Kubernetes@1
inputs:
# Kubernetes Cluster
#connectionType: 'Kubernetes Service Connection' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout. Service connection type. Default: Kubernetes Service Connection.
#kubernetesServiceEndpoint: # string. Required when connectionType = Kubernetes Service Connection && command != logout. Kubernetes service connection.
#azureSubscriptionEndpoint: # string. Required when connectionType = Azure Resource Manager && command != logout. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout. Kubernetes cluster.
#useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout. Use cluster admin credentials. Default: false.
#namespace: # string. Optional. Use when command != logout. Namespace.
# Commands
#command: # 'apply' | 'create' | 'delete' | 'exec' | 'expose' | 'get' | 'login' | 'logout' | 'logs' | 'run' | 'set' | 'top'. Command.
#useConfigurationFile: false # boolean. Optional. Use when command != login && command != logout. Use configuration. Default: false.
#configurationType: 'configuration' # 'configuration' | 'inline'. Optional. Use when useConfigurationFile = true. Configuration type. Default: configuration.
configuration: # string. Required when configurationType = configuration. File path.
#inline: # string. Required when configurationType = inline. Inline configuration.
#arguments: # string. Optional. Use when command != login && command != logout. Arguments.
# Secrets
#secretType: 'dockerRegistry' # 'dockerRegistry' | 'generic'. Required when command != login && command != logout. Type of secret. Default: dockerRegistry.
#secretArguments: # string. Optional. Use when secretType = generic && command != login && command != logout. Arguments.
#containerRegistryType: 'Azure Container Registry' # 'Azure Container Registry' | 'Container Registry'. Required when secretType = dockerRegistry && command != login && command != logout. Container registry type. Default: Azure Container Registry.
#dockerRegistryEndpoint: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout. Docker registry service connection.
#azureSubscriptionEndpointForSecrets: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure subscription.
#azureContainerRegistry: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure container registry.
#secretName: # string. Optional. Use when command != login && command != logout. Secret name.
#forceUpdate: true # boolean. Optional. Use when command != login && command != logout. Force update secret. Default: true.
# ConfigMaps
#configMapName: # string. Optional. Use when command != login && command != logout. ConfigMap name.
#forceUpdateConfigMap: false # boolean. Optional. Use when command != login && command != logout. Force update configmap. Default: false.
#useConfigMapFile: false # boolean. Optional. Use when command != login && command != logout. Use file. Default: false.
#configMapFile: # string. Required when useConfigMapFile = true && command != login && command != logout. ConfigMap file.
#configMapArguments: # string. Optional. Use when useConfigMapFile = false && command != login && command != logout. Arguments.
# Advanced
#versionOrLocation: 'version' # 'version' | 'location'. Kubectl. Default: version.
#versionSpec: '1.13.2' # string. Optional. Use when versionOrLocation = version. Version spec. Default: 1.13.2.
#checkLatest: false # boolean. Optional. Use when versionOrLocation = version. Check for latest version. Default: false.
#specifyLocation: # string. Required when versionOrLocation = location. Path to kubectl.
#workingDirectory: '$(System.DefaultWorkingDirectory)' # string. Alias: cwd. Working directory. Default: $(System.DefaultWorkingDirectory).
#outputFormat: 'json' # 'json' | 'yaml' | 'none'. Output format. Default: json.
# Kubectl v1
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands.
- task: Kubernetes@1
inputs:
# Kubernetes Cluster
#connectionType: 'Kubernetes Service Connection' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout. Service connection type. Default: Kubernetes Service Connection.
#kubernetesServiceEndpoint: # string. Required when connectionType = Kubernetes Service Connection && command != logout. Kubernetes service connection.
#azureSubscriptionEndpoint: # string. Required when connectionType = Azure Resource Manager && command != logout. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout. Kubernetes cluster.
#useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout. Use cluster admin credentials. Default: false.
#namespace: # string. Optional. Use when command != logout. Namespace.
# Commands
#command: # 'apply' | 'create' | 'delete' | 'exec' | 'expose' | 'get' | 'login' | 'logout' | 'logs' | 'run' | 'set' | 'top'. Command.
#useConfigurationFile: false # boolean. Optional. Use when command != login && command != logout. Use configuration. Default: false.
#configurationType: 'configuration' # 'configuration' | 'inline'. Optional. Use when useConfigurationFile = true. Configuration type. Default: configuration.
configuration: # string. Required when configurationType = configuration. File path.
#inline: # string. Required when configurationType = inline. Inline configuration.
#arguments: # string. Optional. Use when command != login && command != logout. Arguments.
# Secrets
#secretType: 'dockerRegistry' # 'dockerRegistry' | 'generic'. Required when command != login && command != logout. Type of secret. Default: dockerRegistry.
#secretArguments: # string. Optional. Use when secretType = generic && command != login && command != logout. Arguments.
#containerRegistryType: 'Azure Container Registry' # 'Azure Container Registry' | 'Container Registry'. Required when secretType = dockerRegistry && command != login && command != logout. Container registry type. Default: Azure Container Registry.
#dockerRegistryEndpoint: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout. Docker registry service connection.
#azureSubscriptionEndpointForSecrets: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure subscription.
#azureContainerRegistry: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure container registry.
#secretName: # string. Optional. Use when command != login && command != logout. Secret name.
#forceUpdate: true # boolean. Optional. Use when command != login && command != logout. Force update secret. Default: true.
# ConfigMaps
#configMapName: # string. Optional. Use when command != login && command != logout. ConfigMap name.
#forceUpdateConfigMap: false # boolean. Optional. Use when command != login && command != logout. Force update configmap. Default: false.
#useConfigMapFile: false # boolean. Optional. Use when command != login && command != logout. Use file. Default: false.
#configMapFile: # string. Required when useConfigMapFile = true && command != login && command != logout. ConfigMap file.
#configMapArguments: # string. Optional. Use when useConfigMapFile = false && command != login && command != logout. Arguments.
# Advanced
#versionOrLocation: 'version' # 'version' | 'location'. Kubectl. Default: version.
#versionSpec: '1.13.2' # string. Optional. Use when versionOrLocation = version. Version spec. Default: 1.13.2.
#checkLatest: false # boolean. Optional. Use when versionOrLocation = version. Check for latest version. Default: false.
#specifyLocation: # string. Required when versionOrLocation = location. Path to kubectl.
#workingDirectory: '$(System.DefaultWorkingDirectory)' # string. Alias: cwd. Working directory. Default: $(System.DefaultWorkingDirectory).
#outputFormat: 'json' # 'json' | 'yaml'. Output format. Default: json.
# Deploy to Kubernetes v1
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands.
- task: Kubernetes@1
inputs:
# Kubernetes Cluster
#connectionType: 'Kubernetes Service Connection' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout. Service connection type. Default: Kubernetes Service Connection.
#kubernetesServiceEndpoint: # string. Required when connectionType = Kubernetes Service Connection && command != logout. Kubernetes service connection.
#azureSubscriptionEndpoint: # string. Required when connectionType = Azure Resource Manager && command != logout. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout. Kubernetes cluster.
#useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout. Use cluster admin credentials. Default: false.
#namespace: # string. Optional. Use when command != logout. Namespace.
# Commands
#command: # 'apply' | 'create' | 'delete' | 'exec' | 'expose' | 'get' | 'login' | 'logout' | 'logs' | 'run' | 'set' | 'top'. Command.
#useConfigurationFile: false # boolean. Optional. Use when command != login && command != logout. Use configuration. Default: false.
#configurationType: 'configuration' # 'configuration' | 'inline'. Optional. Use when useConfigurationFile = true. Configuration type. Default: configuration.
configuration: # string. Required when configurationType = configuration. File path.
#inline: # string. Required when configurationType = inline. Inline configuration.
#arguments: # string. Optional. Use when command != login && command != logout. Arguments.
# Secrets
#secretType: 'dockerRegistry' # 'dockerRegistry' | 'generic'. Required when command != login && command != logout. Type of secret. Default: dockerRegistry.
#secretArguments: # string. Optional. Use when secretType = generic && command != login && command != logout. Arguments.
#containerRegistryType: 'Azure Container Registry' # 'Azure Container Registry' | 'Container Registry'. Required when secretType = dockerRegistry && command != login && command != logout. Container registry type. Default: Azure Container Registry.
#dockerRegistryEndpoint: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout. Docker registry service connection.
#azureSubscriptionEndpointForSecrets: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure subscription.
#azureContainerRegistry: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure container registry.
#secretName: # string. Optional. Use when command != login && command != logout. Secret name.
#forceUpdate: true # boolean. Optional. Use when command != login && command != logout. Force update secret. Default: true.
# ConfigMaps
#configMapName: # string. Optional. Use when command != login && command != logout. ConfigMap name.
#forceUpdateConfigMap: false # boolean. Optional. Use when command != login && command != logout. Force update configmap. Default: false.
#useConfigMapFile: false # boolean. Optional. Use when command != login && command != logout. Use file. Default: false.
#configMapFile: # string. Required when useConfigMapFile = true && command != login && command != logout. ConfigMap file.
#configMapArguments: # string. Optional. Use when useConfigMapFile = false && command != login && command != logout. Arguments.
# Advanced
#versionOrLocation: 'version' # 'version' | 'location'. Kubectl. Default: version.
#versionSpec: '1.13.2' # string. Optional. Use when versionOrLocation = version. Version spec. Default: 1.13.2.
#checkLatest: false # boolean. Optional. Use when versionOrLocation = version. Check for latest version. Default: false.
#specifyLocation: # string. Required when versionOrLocation = location. Path to kubectl.
#workingDirectory: '$(System.DefaultWorkingDirectory)' # string. Alias: cwd. Working directory. Default: $(System.DefaultWorkingDirectory).
#outputFormat: 'json' # 'json' | 'yaml'. Output format. Default: json.
# Deploy to Kubernetes v1
# Deploy, configure, update your Kubernetes cluster in Azure Container Service by running kubectl commands.
- task: Kubernetes@1
inputs:
# Kubernetes Cluster
#connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout. Service connection type. Default: Azure Resource Manager.
#kubernetesServiceEndpoint: # string. Required when connectionType = Kubernetes Service Connection && command != logout. Kubernetes service connection.
#azureSubscriptionEndpoint: # string. Required when connectionType = Azure Resource Manager && command != logout. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout. Kubernetes cluster.
#namespace: # string. Optional. Use when command != logout. Namespace.
# Commands
command: 'apply' # 'apply' | 'create' | 'delete' | 'exec' | 'expose' | 'get' | 'login' | 'logout' | 'logs' | 'run' | 'set' | 'top'. Required. Command. Default: apply.
#useConfigurationFile: false # boolean. Optional. Use when command != login && command != logout. Use configuration files. Default: false.
#configuration: # string. Required when useConfigurationFile = true. Configuration file.
#arguments: # string. Optional. Use when command != login && command != logout. Arguments.
# Secrets
#secretType: 'dockerRegistry' # 'dockerRegistry' | 'generic'. Required when command != login && command != logout. Type of secret. Default: dockerRegistry.
#secretArguments: # string. Optional. Use when secretType = generic && command != login && command != logout. Arguments.
#containerRegistryType: 'Azure Container Registry' # 'Azure Container Registry' | 'Container Registry'. Required when secretType = dockerRegistry && command != login && command != logout. Container registry type. Default: Azure Container Registry.
#dockerRegistryEndpoint: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout. Docker registry service connection.
#azureSubscriptionEndpointForSecrets: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure subscription.
#azureContainerRegistry: # string. Optional. Use when secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout. Azure container registry.
#secretName: # string. Optional. Use when command != login && command != logout. Secret name.
#forceUpdate: true # boolean. Optional. Use when command != login && command != logout. Force update secret. Default: true.
# ConfigMaps
#configMapName: # string. Optional. Use when command != login && command != logout. ConfigMap name.
#forceUpdateConfigMap: false # boolean. Optional. Use when command != login && command != logout. Force update configmap. Default: false.
#useConfigMapFile: false # boolean. Optional. Use when command != login && command != logout. Use file. Default: false.
#configMapFile: # string. Required when useConfigMapFile = true && command != login && command != logout. ConfigMap file.
#configMapArguments: # string. Optional. Use when useConfigMapFile = false && command != login && command != logout. Arguments.
# Advanced
#versionOrLocation: 'version' # 'version' | 'location'. Optional. Use when command != login && command != logout. Kubectl. Default: version.
#versionSpec: '1.7.0' # string. Optional. Use when versionOrLocation = version && command != login && command != logout. Version spec. Default: 1.7.0.
#checkLatest: false # boolean. Optional. Use when versionOrLocation = version && command != login && command != logout. Check for latest version. Default: false.
#specifyLocation: # string. Required when versionOrLocation = location && command != login && command != logout. Path to kubectl.
#workingDirectory: '$(System.DefaultWorkingDirectory)' # string. Alias: cwd. Optional. Use when command != login && command != logout. Working directory. Default: $(System.DefaultWorkingDirectory).
#outputFormat: 'json' # 'json' | 'yaml'. Optional. Use when command != login && command != logout. Output format. Default: json.
Vstupy
connectionType
-
Typ připojení služby
string
. Požadováno při command != logout
. Povolené hodnoty: Azure Resource Manager
, Kubernetes Service Connection
, None
. Výchozí hodnota: Kubernetes Service Connection
.
Určuje typ připojení služby: Azure Resource Manager při použití služby Azure Kubernetes Service nebo připojení Kubernetes Service pro jakýkoli jiný cluster.
-
Kubernetes Service Connection
– Umožňuje zadat soubor KubeConfig, zadat účet služby nebo importovat instanci AKS s možností předplatné ho Azure. Import instance AKS s možností předplatného Azure vyžaduje přístup ke clusteru Kubernetes v době konfigurace připojení ke službě. -
Azure Resource Manager
– Umožňuje vybrat instanci AKS. Nemá přístup ke clusteru Kubernetes v době konfigurace připojení ke službě. -
None
– Použijte předem vytvořenou konfiguraci Kubernetes uloženou místně.
Další informace najdete v tématu Připojení služby v následující části Poznámky.
connectionType
-
Typ připojení služby
string
. Požadováno při command != logout
. Povolené hodnoty: Azure Resource Manager
, Kubernetes Service Connection
, None
. Výchozí hodnota: Azure Resource Manager
.
Určuje typ připojení služby: Azure Resource Manager při použití služby Azure Kubernetes Service nebo připojení Kubernetes Service pro jakýkoli jiný cluster.
kubernetesServiceEndpoint
-
připojení ke službě Kubernetes
string
. Požadováno při connectionType = Kubernetes Service Connection && command != logout
.
Vyberte připojení služby Kubernetes.
azureSubscriptionEndpoint
-
předplatného Azure
string
. Požadováno při connectionType = Azure Resource Manager && command != logout
.
Určuje předplatné Azure Resource Manageru, které obsahuje službu Azure Container Registry.
Poznámka
Pokud chcete nakonfigurovat nové připojení služby, zadejte předplatné Azure ze seznamu a klikněte na Authorize
. Pokud vaše předplatné není uvedené nebo pokud chcete použít existující instanční objekt, můžete nastavit připojení služby Azure pomocí tlačítek Add
nebo Manage
.
skupiny prostředků azureResourceGroup
-
string
. Požadováno při connectionType = Azure Resource Manager && command != logout
.
Vyberte skupinu prostředků Azure.
kubernetesCluster
-
clusteru Kubernetes
string
. Požadováno při connectionType = Azure Resource Manager && command != logout
.
Vyberte spravovaný cluster Azure.
useClusterAdmin
-
Použití přihlašovacích údajů správce clusteru
boolean
. Volitelný. Používá se při connectionType = Azure Resource Manager && command != logout
. Výchozí hodnota: false
.
Místo výchozích přihlašovacích údajů uživatele clusteru použijte přihlašovací údaje správce clusteru.
oboru názvů namespace
-
string
. Volitelný. Používá se při command != logout
.
Nastavte obor názvů pro příkaz kubectl pomocí příznaku –namespace. Pokud obor názvů není zadaný, příkazy se spustí ve výchozím oboru názvů.
command
-
command
string
. Povolené hodnoty: apply
, create
, delete
, exec
, expose
, get
, login
, logout
, logs
, run
, set
, top
.
Vyberte nebo zadejte příkaz kubectl, který se má spustit. Seznam povolených hodnot poskytuje některé běžné volby pro usnadnění výběru při použití pomocníka pro úkoly, ale můžete zadat další příkazy kubectl, jako je například scale
. Pomocí arguments
vstupu zadejte další parametry zadaného příkazu kubectl
.
command
-
command
string
. Požadovaný. Povolené hodnoty: apply
, create
, delete
, exec
, expose
, get
, login
, logout
, logs
, run
, set
, top
. Výchozí hodnota: apply
.
Vyberte nebo zadejte příkaz kubectl, který se má spustit.
useConfigurationFile
-
Použít konfigurační
boolean
. Volitelný. Používá se při command != login && command != logout
. Výchozí hodnota: false
.
Určuje konfiguraci Kubernetes, která se má použít s příkazem kubectl
. Můžete zadat vložený skript, název souboru, adresář nebo adresu URL konfiguračních souborů Kubernetes.
useConfigurationFile
-
Použití konfiguračních souborů
boolean
. Volitelný. Používá se při command != login && command != logout
. Výchozí hodnota: false
.
Určuje konfiguraci Kubernetes, která se má použít s příkazem kubectl
. Můžete zadat vložený skript, název souboru, adresář nebo adresu URL konfiguračních souborů Kubernetes.
typ konfigurace configurationType
-
string
. Volitelný. Používá se při useConfigurationFile = true
. Povolené hodnoty: configuration
(cesta k souboru), inline
(vložená konfigurace). Výchozí hodnota: configuration
.
Určuje typ konfigurace Kubernetes pro příkaz kubectl
. Může to být cesta k souboru nebo vložený skript.
cesta k souboru configuration
-
string
. Požadováno při configurationType = configuration
.
Určuje název souboru, adresáře nebo adresy URL konfiguračních souborů Kubernetes, které se používají s příkazy.
konfiguračního souboru configuration
-
string
. Požadováno při useConfigurationFile = true
.
Určuje název souboru, adresáře nebo adresy URL konfiguračních souborů Kubernetes, které se používají s příkazy.
inline
-
vložené konfigurace
string
. Požadováno při configurationType = inline
.
Určuje vloženou konfiguraci nasazení pro příkaz kubectl
.
argumentů arguments
-
string
. Volitelný. Používá se při command != login && command != logout
.
Argumenty zadaného příkazu kubectl.
typ tajnéhosecretType
-
string
. Požadováno při command != login && command != logout
. Povolené hodnoty: dockerRegistry
, generic
. Výchozí hodnota: dockerRegistry
.
Vytvořte nebo aktualizujte obecnou imagepullsecretu dockeru. Vyberte dockerRegistry a vytvořte nebo aktualizujte imagepullsecret vybraného registru. ImagePullSecret je způsob, jak předat tajný kód, který obsahuje heslo registru kontejneru do Kubeletu, aby mohl za váš pod načíst privátní image.
argumentů secretArguments
-
string
. Volitelný. Používá se při secretType = generic && command != login && command != logout
.
Určuje klíče a hodnoty literálu, které se mají vložit do tajného kódu. Například --from-literal=key1=value1
nebo --from-literal=key2="top secret"
.
containerRegistryType
-
typ registru kontejneru
string
. Požadováno při secretType = dockerRegistry && command != login && command != logout
. Povolené hodnoty: Azure Container Registry
, Container Registry
. Výchozí hodnota: Azure Container Registry
.
Vyberte typ registru kontejneru. Úloha může použít podrobnosti o předplatném Azure pro práci s registrem kontejnerů Azure. Podporují se také další standardní registry kontejnerů.
dockerRegistryEndpoint
-
připojení ke službě registru Dockeru
string
. Volitelný. Používá se při secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout
.
Vyberte připojení služby registru Dockeru. Vyžaduje se pro příkazy, které se musí ověřit v registru.
azureSubscriptionEndpointForSecrets
-
předplatného Azure
string
. Volitelný. Používá se při secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout
.
Určuje předplatné Azure Resource Manageru, které obsahuje Službu Azure Container Registry.
Poznámka
Pokud chcete nakonfigurovat nové připojení služby, vyberte v seznamu předplatné Azure a klikněte na Authorize
. Pokud vaše předplatné není uvedené nebo pokud chcete použít existující instanční objekt, můžete nastavit připojení služby Azure pomocí tlačítek Add
nebo Manage
.
azureContainerRegistry
-
registru kontejnerů Azure
string
. Volitelný. Používá se při secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout
.
Určuje službu Azure Container Registry, která se používá k načítání imagí kontejnerů a nasazování aplikací do clusteru Kubernetes. Vyžaduje se pro příkazy, které se musí ověřit v registru.
secretName
-
název tajného kódu
string
. Volitelný. Používá se při command != login && command != logout
.
Název tajného klíče. Tento název tajného kódu můžete použít v konfiguračním souboru YAML Kubernetes.
forceUpdate
-
Vynutit aktualizaci tajných kódů
boolean
. Volitelný. Používá se při command != login && command != logout
. Výchozí hodnota: true
.
Odstraňte tajný kód, pokud existuje, a vytvořte nový s aktualizovanými hodnotami.
název configMapName
- ConfigMap
string
. Volitelný. Používá se při command != login && command != logout
.
Objekty ConfigMap umožňují oddělit artefakty konfigurace od obsahu obrázku, aby byly kontejnerizované aplikace přenosné.
forceUpdateConfigMap
-
Vynucení mapy konfigurace aktualizace
boolean
. Volitelný. Používá se při command != login && command != logout
. Výchozí hodnota: false
.
Odstraňte mapu konfigurace, pokud existuje, a vytvořte novou s aktualizovanými hodnotami.
useConfigMapFile
-
Použít souborů
boolean
. Volitelný. Používá se při command != login && command != logout
. Výchozí hodnota: false
.
Vytvoří ConfigMap
z jednotlivého souboru nebo z více souborů zadáním adresáře.
souboru configmap configMapFile
-
string
. Požadováno při useConfigMapFile = true && command != login && command != logout
.
Zadejte soubor nebo adresář, který obsahuje objekty configMap.
argumentů configMapArguments
-
string
. Volitelný. Používá se při useConfigMapFile = false && command != login && command != logout
.
Určuje klíče a literály, které se mají vložit do configMap
. Například --from-literal=key1=value1
nebo --from-literal=key2="top secret"
.
versionOrLocation
-
Kubectl
string
. Povolené hodnoty: version
, location
(zadat umístění). Výchozí hodnota: version
.
kubectl je rozhraní příkazového řádku pro spouštění příkazů v clusterech Kubernetes.
versionOrLocation
-
Kubectl
string
. Volitelný. Používá se při command != login && command != logout
. Povolené hodnoty: version
, location
(zadat umístění). Výchozí hodnota: version
.
kubectl je rozhraní příkazového řádku pro spouštění příkazů v clusterech Kubernetes.
versionSpec
-
specifikace verze
string
. Volitelný. Používá se při versionOrLocation = version
. Výchozí hodnota: 1.13.2
.
Určuje specifikaci verze verze, která se má získat. Příklady: 1.7.0
, 1.x.0
, 4.x.0
, 6.10.0
, >=6.10.0
.
versionSpec
-
specifikace verze
string
. Volitelný. Používá se při versionOrLocation = version && command != login && command != logout
. Výchozí hodnota: 1.7.0
.
-18-2 Určuje specifikaci verze, která se má získat. Příklady: 1.7.0
, 1.x.0
, 4.x.0
, 6.10.0
, >=6.10.0
.
checkLatest
-
Kontrola nejnovější verze
boolean
. Volitelný. Používá se při versionOrLocation = version
. Výchozí hodnota: false
.
Vždy zkontroluje online nejnovější dostupnou verzi (stable.txt), která splňuje specifikaci verze. Obvykle je to nepravda, pokud nemáte konkrétní scénář, abyste vždy získali nejnovější verzi. To způsobí, že se účtují náklady na stahování, pokud je to potenciálně nezbytné, zejména u hostovaného fondu sestavení.
checkLatest
-
Kontrola nejnovější verze
boolean
. Volitelný. Používá se při versionOrLocation = version && command != login && command != logout
. Výchozí hodnota: false
.
Vždy zkontroluje online nejnovější dostupnou verzi (stable.txt), která splňuje specifikaci verze. Obvykle je to nepravda, pokud nemáte konkrétní scénář, abyste vždy získali nejnovější verzi. To způsobí, že se účtují náklady na stahování, pokud je to potenciálně nezbytné, zejména u hostovaného fondu sestavení.
specifyLocation
-
cesta k kubectl
string
. Požadováno při versionOrLocation = location
.
Určuje úplnou cestu k souboru kubectl.exe
.
specifyLocation
-
cesta k kubectl
string
. Požadováno při versionOrLocation = location && command != login && command != logout
.
Určuje úplnou cestu k souboru kubectl.exe
.
pracovního adresáře workingDirectory
-
Vstupní alias: cwd
.
string
. Výchozí hodnota: $(System.DefaultWorkingDirectory)
.
Pracovní adresář pro příkaz Kubectl.
pracovního adresáře workingDirectory
-
Vstupní alias: cwd
.
string
. Volitelný. Používá se při command != login && command != logout
. Výchozí hodnota: $(System.DefaultWorkingDirectory)
.
Pracovní adresář pro příkaz Kubectl.
formát výstupu outputFormat
-
string
. Povolené hodnoty: json
, yaml
, none
. Výchozí hodnota: json
.
Výstupní formát Seznam povolených hodnot poskytuje některé běžné volby pro usnadnění výběru při použití pomocníka pro úkoly, ale můžete zadat další možnosti výstupu, jako je jsonpath={.items[*].spec['initContainers', 'containers'][*].image}
.
formát výstupu outputFormat
-
string
. Povolené hodnoty: json
, yaml
. Výchozí hodnota: json
.
Výstupní formát Seznam povolených hodnot poskytuje některé běžné volby pro usnadnění výběru při použití pomocníka pro úkoly, ale můžete zadat další možnosti výstupu, jako je jsonpath={.items[*].spec['initContainers', 'containers'][*].image}
.
formát výstupu outputFormat
-
string
. Volitelný. Používá se při command != login && command != logout
. Povolené hodnoty: json
, yaml
. Výchozí hodnota: json
.
Výstupní formát Seznam povolených hodnot poskytuje některé běžné volby pro usnadnění výběru při použití pomocníka pro úkoly, ale můžete zadat další možnosti výstupu, jako je jsonpath={.items[*].spec['initContainers', 'containers'][*].image}
.
Možnosti řízení úkolů
Všechny úkoly mají kromě vstupů úkolů také možnosti řízení. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.
Výstupní proměnné
Tato úloha definuje následující výstupní proměnné, které můžete využívat v podřízených krocích, úlohách a fázích.
KubectlOutput
Uloží výstup příkazu kubectl
.
Poznámky
Novinky ve verzi 1.0
- Přidání nového vstupu typu připojení služby pro snadný výběr clusterů Azure AKS
- Nahraďte vstup výstupní proměnné oddílem výstupních proměnných, který jsme přidali do všech úkolů.
Pomocí této úlohy nasaďte, nakonfigurujte nebo aktualizujte cluster Kubernetes spuštěním příkazů kubectl.
Připojení služby
Úloha funguje se dvěma typy připojení služby: Azure Resource Manageru a připojení ke službě Kubernetes Service, jak je popsáno níže.
Azure Resource Manager
Nastavte connectionType
na Azure Resource Manager
a zadejte azureSubscriptionEndpoint
pro použití připojení služby Azure Resource Manager.
Tento příklad YAML ukazuje, jak se Azure Resource Manager používá k odkazu na cluster Kubernetes. Použije se s jedním z příkazů kubectl a s příslušnými hodnotami požadovanými příkazem.
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)
Připojení ke službě Kubernetes Service
Nastavte connectionType
na Kubernetes Service Connection
a zadejte kubernetesServiceEndpoint
pro použití připojení služby Kubernetes.
Tento příklad YAML ukazuje, jak se používá připojení ke službě Kubernetes Service pro odkaz na cluster Kubernetes. Použije se s jedním z příkazů kubectl a s příslušnými hodnotami požadovanými příkazem.
- task: Kubernetes@1
displayName: kubectl apply
inputs:
connectionType: Kubernetes Service Connection
kubernetesServiceEndpoint: Contoso
Aspekty připojení ke službě Kubernetes Service při přístupu k AKS
Můžete vytvořit připojení služby Kubernetes s některou z následujících možností.
- KubeConfig
- Účet služby
- Předplatné Azure
Při výběru možnosti předplatného Azure musí být Kubernetes přístupný pro Azure DevOps v době konfigurace připojení služby. Může se jednat o různé důvody, proč není možné vytvořit připojení služby, například jste vytvořili privátní cluster nebo cluster má místní účty zakázané. V těchto případech se Azure DevOps nemůže připojit ke clusteru v době konfigurace připojení služby a uvidíte zablokovaný Načítá se obory názvů obrazovce.
Počínaje Kubernetes 1.24 se dlouhodobé tokeny ve výchozím nastaveníuž nevytvořily. Kubernetes nedoporučuje používat dlouhodobé tokeny. V důsledku toho úlohy využívající připojení služby Kubernetes vytvořené s možností předplatného Azure nemají přístup k trvalému tokenu potřebnému k ověření a nemají přístup ke clusteru Kubernetes. Výsledkem je také zablokovaný dialog Načítání oborů názvů.
Použití připojení ke službě Azure Resource Manager pro přístup k AKS
Pro zákazníky AKS poskytuje typ připojení služby Azure Resource Manager nejlepší způsob připojení k privátnímu clusteru nebo cluster, který má zakázané místní účty. Tato metoda není závislá na připojení ke clusteru v době, kdy vytváříte připojení služby. Přístup k AKS se odloží do modulu runtime kanálu, který má následující výhody:
- Přístup k (privátnímu) clusteru AKS je možné provést z agenta škálovací sady v místním prostředí nebo agentu škálovací sady, který je v dohledu clusteru.
- Vytvoří se token pro každou úlohu, která používá připojení služby Azure Resource Manager. Tím zajistíte, že se připojujete k Kubernetes pomocí krátkodobého tokenu, což je doporučení Kubernetes.
- K AKS se dostanete i v případě, že jsou místní účty zakázané.
Nejčastější dotazy k připojení ke službám
Zobrazuje se mi následující chybová zpráva: Nepodařilo se najít žádný tajný kód přidružený k účtu služby. Co se děje?
Používáte připojení ke službě Kubernetes s možností předplatného Azure. Tuto metodu aktualizujeme, abychom vytvořili dlouhodobé tokeny. Očekává se, že bude k dispozici v polovině května. Doporučuje se ale začít používat typ připojení služby Azure, a ne používat dlouhodobé tokeny podle pokynů Kubernetes.
Používám AKS a nechci nic měnit, můžu dál používat úlohy s připojením ke službě Kubernetes?
Tuto metodu aktualizujeme, abychom vytvořili dlouhodobé tokeny. Očekává se, že bude k dispozici v polovině května. Mějte však na paměti, že tento přístup se pokyny kubernetes.
Používám úlohy Kubernetes a připojení ke službě Kubernetes, ale ne AKS. Mám se obtěžovat?
Úkoly budou dál fungovat jako předtím.
Odebere se typ připojení služby Kubernetes?
Naše úlohy Kubernetes pracují s jakýmkoli clusterem Kubernetes bez ohledu na to, kde běží. Připojení ke službě Kubernetes bude i nadále existovat.
Jsem zákazník AKS a všechno funguje správně, mám jednat?
Není potřeba nic měnit. Pokud během vytváření používáte připojení ke službě Kubernetes a vybrané předplatné Azure, měli byste vědět o pokynech k Kubernetes při používání dlouhodobých tokenů.
Vytvářím prostředí Kubernetes a nemám možnost používat připojení služeb
V případě, že během vytváření prostředí nemáte přístup ke službě AKS, můžete použít prázdné prostředí a nastavit connectionType
vstup na připojení služby Azure Resource Manager.
Mám AKS nakonfigurované s Azure Active Directory RBAC a kanál nefunguje. Vyřeší to tyto aktualizace?
Přístup k Kubernetes, když je povolený AAD RBAC, nesouvisí s vytvářením tokenů. Abychom zabránili interaktivní výzvě, budeme podporovat kubelogin v budoucí aktualizaci.
Příkazy
Vstup příkazu přijímá příkazy kubectl.
Tento příklad YAML ukazuje použít příkaz:
- 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
Tento příklad YAML ukazuje použití konfiguračního souboru s použít příkaz:
- 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
Tento příklad YAML ukazuje použití příkazu škálování ke snížení počtu replik v nasazení na 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)
Tajemství
Objekty Kubernetes typu tajných kódů slouží k uchovávání citlivých informací, jako jsou hesla, tokeny OAuth a klíče SSH. Vložení těchto informací do tajného kódu je bezpečnější a flexibilnější než uvedení doslovné hodnoty do definice podu nebo do image Dockeru. Azure Pipelines zjednodušuje přidání ImagePullSecrets
k účtu služby nebo nastavení jakéhokoli obecného tajného kódu, jak je popsáno níže.
ImagePullSecret
Tento příklad YAML ukazuje nastavení 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
Obecné tajné kódy
Tento příklad YAML vytvoří obecné tajné kódy z hodnot literálů zadaných pro secretArguments vstup:
- 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
Proměnné kanálu se dají použít k předávání argumentů pro zadání hodnot literálů, jak je znázorněno tady:
- 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
Objekty ConfigMap umožňují oddělit artefakty konfigurace od obsahu obrázku a zachovat přenositelnost kontejnerizovaných aplikací.
Tento příklad YAML vytvoří Objekt ConfigMap odkazem na soubor ConfigMap:
- task: Kubernetes@1
displayName: kubectl apply
inputs:
configMapName: myconfig
useConfigMapFile: true
configMapFile: src/configmap
Tento příklad YAML vytvoří Objekt ConfigMap tak, že zadá hodnoty literálu přímo jako configMapArguments vstupu a nastaví forceUpdate na hodnotu 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
Proměnné kanálu můžete použít k předávání hodnot literálů při vytváření objektu ConfigMap, jak je znázorněno tady:
- 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)
Řešení problémů
Cluster Kubernetes je za bránou firewall a používám hostované agenty. Jak můžu nasadit do tohoto clusteru?
Hostovaným agentům můžete udělit přístup přes bránu firewall tím, že povolíte IP adresy hostovaných agentů. Další podrobnosti najdete v tématu rozsahy IP adres agenta
Požadavky
Požadavek | Popis |
---|---|
Typy kanálů | YAML, klasické sestavení, klasická verze |
Běží na | Agent, DeploymentGroup |
požadavky | Žádný |
možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
omezení příkazů | Jakýkoliv |
nastavitelné proměnné | Jakýkoliv |
Verze agenta | Všechny podporované verze agenta. |
Kategorie úkolu | Nasadit |