Kubernetes@1 – úloha Kubectl v1
Nasazení, konfigurace a aktualizace clusteru Kubernetes ve službě Azure Container Service spuštěním příkazů kubectl
Nasazení, konfigurace a aktualizace clusteru 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
. Vyžaduje se, když 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í Azure Kubernetes Service nebo připojení služby 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é Azure . Import instance AKS s možností předplatného Azure vyžaduje přístup ke clusteru Kubernetes v době konfigurace připojení služby.Azure Resource Manager
– Umožňuje vybrat instanci AKS. Nemá přístup ke clusteru Kubernetes v době konfigurace připojení služby.None
– Použijte předem vytvořenou konfiguraci Kubernetes uloženou místně.
Další informace najdete v části Připojení služby v následující části Poznámky .
connectionType
- Typ připojení služby
string
. Vyžaduje se, když 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í Azure Kubernetes Service nebo připojení služby Kubernetes Service pro jakýkoli jiný cluster.
kubernetesServiceEndpoint
- Připojení ke službě Kubernetes
string
. Vyžaduje se, když connectionType = Kubernetes Service Connection && command != logout
.
Vyberte připojení ke službě Kubernetes.
azureSubscriptionEndpoint
- Předplatné Azure
string
. Vyžaduje se, když connectionType = Azure Resource Manager && command != logout
.
Určuje předplatné Azure Resource Manager, které obsahuje Azure Container Registry.
Poznámka
Pokud chcete nakonfigurovat nové připojení služby, zadejte ze 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í Add
tlačítek nebo Manage
.
azureResourceGroup
- Skupina prostředků
string
. Vyžaduje se, když connectionType = Azure Resource Manager && command != logout
.
Vyberte skupinu prostředků Azure.
kubernetesCluster
- Cluster Kubernetes
string
. Vyžaduje se, když connectionType = Azure Resource Manager && command != logout
.
Vyberte spravovaný cluster Azure.
useClusterAdmin
- Použití přihlašovacích údajů správce clusteru
boolean
. Nepovinný parametr. Použijte, když 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.
namespace
- Obor názvů
string
. Nepovinný parametr. Použijte, když 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
- Příkaz
string
. Povolené hodnoty: apply
, create
, , exec
delete
, 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í úlohy asistent, ale můžete zadat další příkazy kubectl, například scale
. arguments
Pomocí vstupu zadejte další parametry zadaného kubectl
příkazu.
command
- Příkaz
string
. Povinná hodnota. Povolené hodnoty: apply
, create
, , exec
delete
, expose
, get
, , login
, logout
, logs
, run
, , set
. top
Výchozí hodnota: apply
.
Vyberte nebo zadejte příkaz kubectl, který se má spustit.
useConfigurationFile
- Použití konfigurace
boolean
. Nepovinný parametr. Použijte, když 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
. Nepovinný parametr. Použijte, když 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.
configurationType
- Typ konfigurace
string
. Nepovinný parametr. Použijte, když useConfigurationFile = true
. Povolené hodnoty: configuration
(Cesta k souboru), inline
(Vložená konfigurace). Výchozí hodnota: configuration
.
Určuje typ konfigurace Kubernetes pro kubectl
příkaz. Může to být cesta k souboru nebo vložený skript.
configuration
- Cesta k souboru
string
. Vyžaduje se, když configurationType = configuration
.
Určuje název souboru, adresář nebo adresu URL konfiguračních souborů Kubernetes, které se používají s příkazy.
configuration
- Konfigurační soubor
string
. Vyžaduje se, když useConfigurationFile = true
.
Určuje název souboru, adresář nebo adresu URL konfiguračních souborů Kubernetes, které se používají s příkazy.
inline
- Vložená konfigurace
string
. Vyžaduje se, když configurationType = inline
.
Určuje vloženou konfiguraci nasazení pro kubectl
příkaz .
arguments
- Argumenty
string
. Nepovinný parametr. Použijte, když command != login && command != logout
.
Argumenty zadaného příkazu kubectl.
secretType
- Typ tajného kódu
string
. Vyžaduje se, když command != login && command != logout
. Povolené hodnoty: dockerRegistry
, generic
. Výchozí hodnota: dockerRegistry
.
Vytvořte/aktualizujte obecný nebo docker imagepullsecret. Vyberte dockerRegistry a vytvořte nebo aktualizujte imagepullsecret vybraného registru. ImagePullSecret je způsob, jak kubeletu předat tajný klíč, který obsahuje heslo registru kontejneru, aby mohl jménem vašeho podu načíst privátní image.
secretArguments
- Argumenty
string
. Nepovinný parametr. Použijte, když 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
. Vyžaduje se, když 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 pomocí podrobností o předplatném Azure pracovat s registrem kontejneru Azure. Podporují se také další standardní registry kontejnerů.
dockerRegistryEndpoint
- Připojení služby registru Dockeru
string
. Nepovinný parametr. Použijte, když secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout
.
Vyberte připojení služby registru Dockeru. Vyžaduje se pro příkazy, které se potřebují ověřit pomocí registru.
azureSubscriptionEndpointForSecrets
- Předplatné Azure
string
. Nepovinný parametr. Použijte, když secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout
.
Určuje předplatné Azure Resource Manager, které obsahuje 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í Add
tlačítek nebo Manage
.
azureContainerRegistry
- Azure Container Registry
string
. Nepovinný parametr. Použijte, když secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout
.
Určuje 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 potřebují ověřit pomocí registru.
secretName
- Název tajného kódu
string
. Nepovinný parametr. Použijte, když command != login && command != logout
.
Název tajného kódu Tento název tajného klíče můžete použít v konfiguračním souboru Kubernetes YAML.
forceUpdate
- Vynucení aktualizace tajného kódu
boolean
. Nepovinný parametr. Použijte, když command != login && command != logout
. Výchozí hodnota: true
.
Odstraňte tajný kód, pokud existuje, a vytvořte nový s aktualizovanými hodnotami.
configMapName
- Název objektu ConfigMap
string
. Nepovinný parametr. Použijte, když command != login && command != logout
.
ConfigMaps umožňují oddělit artefakty konfigurace od obsahu obrázku, aby byly kontejnerizované aplikace přenosné.
forceUpdateConfigMap
- Vynutit aktualizaci konfigurační mapy
boolean
. Nepovinný parametr. Použijte, když command != login && command != logout
. Výchozí hodnota: false
.
Odstraňte konfigurační mapu, pokud existuje, a vytvořte novou s aktualizovanými hodnotami.
useConfigMapFile
- Použít soubor
boolean
. Nepovinný parametr. Použijte, když command != login && command != logout
. Výchozí hodnota: false
.
Vytvoří z ConfigMap
jednotlivého souboru nebo z více souborů zadáním adresáře.
configMapFile
- Soubor ConfigMap
string
. Vyžaduje se, když useConfigMapFile = true && command != login && command != logout
.
Zadejte soubor nebo adresář, který obsahuje objekty configMaps.
configMapArguments
- Argumenty
string
. Nepovinný parametr. Použijte, když useConfigMapFile = false && command != login && command != logout
.
Určuje klíče a hodnoty literálu, které se mají vložit do configMap
. Příkladem je --from-literal=key1=value1
nebo --from-literal=key2="top secret"
.
versionOrLocation
- Kubectl
string
. Povolené hodnoty: version
, location
(Zadejte 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
. Nepovinný parametr. Použijte, když command != login && command != logout
. Povolené hodnoty: version
, location
(Zadejte 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
. Nepovinný parametr. Použijte, když 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
. Nepovinný parametr. Použijte, když 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
- Vyhledat nejnovější verzi
boolean
. Nepovinný parametr. Použijte, když versionOrLocation = version
. Výchozí hodnota: false
.
Vždy online zkontroluje nejnovější dostupnou verzi (stable.txt), která splňuje specifikaci verze. To je obvykle nepravda, pokud nemáte konkrétní scénář, abyste vždy získali nejnovější verzi. To způsobí, že v případě, že to není nutné, účtují se náklady na stahování, zejména u hostovaného fondu buildů.
checkLatest
- Vyhledat nejnovější verzi
boolean
. Nepovinný parametr. Použijte, když versionOrLocation = version && command != login && command != logout
. Výchozí hodnota: false
.
Vždy online zkontroluje nejnovější dostupnou verzi (stable.txt), která splňuje specifikaci verze. To je obvykle nepravda, pokud nemáte konkrétní scénář, abyste vždy získali nejnovější verzi. To způsobí, že v případě, že to není nutné, účtují se náklady na stahování, zejména u hostovaného fondu buildů.
specifyLocation
- Cesta ke kubectl
string
. Vyžaduje se, když versionOrLocation = location
.
Určuje úplnou cestu k kubectl.exe
souboru.
specifyLocation
- Cesta ke kubectl
string
. Vyžaduje se, když versionOrLocation = location && command != login && command != logout
.
Určuje úplnou cestu k kubectl.exe
souboru.
workingDirectory
- Pracovní adresář
Vstupní alias: cwd
. string
. Výchozí hodnota: $(System.DefaultWorkingDirectory)
.
Pracovní adresář pro příkaz Kubectl.
workingDirectory
- Pracovní adresář
Alias vstupu: cwd
. string
. Nepovinný parametr. Použijte, když command != login && command != logout
. Výchozí hodnota: $(System.DefaultWorkingDirectory)
.
Pracovní adresář pro příkaz Kubectl.
outputFormat
- Výstupní formát
string
. Povolené hodnoty: json
, yaml
, none
. Výchozí hodnota: json
.
Formát výstupu.
outputFormat
- Výstupní formát
string
. Povolené hodnoty: json
, yaml
. Výchozí hodnota: json
.
Formát výstupu.
outputFormat
- Výstupní formát
string
. Nepovinný parametr. Použijte, když command != login && command != logout
. Povolené hodnoty: json
, yaml
. Výchozí hodnota: json
.
Formát výstupu.
Možnosti ovládání úloh
Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace najdete v tématu Možnosti ovládacích prvků a běžné vlastnosti úlohy.
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 kubectl
příkazu .
Poznámky
Novinky ve verzi 1.0
- Přidání nového typu připojení služby pro snadný výběr clusterů Azure AKS
- Vstupní výstupní proměnnou jsme nahradili oddílem výstupních proměnných, který jsme přidali do všech úkolů.
Tuto úlohu použijte k nasazení, konfiguraci nebo aktualizaci clusteru Kubernetes spuštěním příkazů kubectl.
Připojení služby
Úloha funguje se dvěma typy připojení služby: Azure Resource Manager a Připojení ke službě Kubernetes Service, které jsou popsané níže.
Azure Resource Manager
Nastavte connectionType
na Azure Resource Manager
a zadejte , azureSubscriptionEndpoint
aby se použilo připojení služby Azure Resource Manager.
Tento příklad YAML ukazuje, jak se Azure Resource Manager používá k odkazaci na cluster Kubernetes. Použije se s jedním z příkazů kubectl a 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
aby se používalo připojení služby Kubernetes.
Tento příklad YAML ukazuje, jak se připojení služby Kubernetes používá k odkazaci na cluster Kubernetes. Použije se s jedním z příkazů kubectl a příslušnými hodnotami požadovanými příkazem.
- task: Kubernetes@1
displayName: kubectl apply
inputs:
connectionType: Kubernetes Service Connection
kubernetesServiceEndpoint: Contoso
Důležité informace o připojení ke službě Kubernetes Service při přístupu k AKS
Připojení ke službě Kubernetes můžete vytvořit pomocí některé z následujících možností.
- KubeConfig
- Service Account
- Předplatné Azure
Při výběru možnosti Předplatné Azure musí být Kubernetes přístupný pro Azure DevOps v době konfigurace připojení služby. Připojení služby nemusí být možné vytvořit z různých důvodů, například jste vytvořili privátní cluster nebo cluster má zakázané místní účty. V těchto případech se Azure DevOps nemůže připojit ke clusteru v době konfigurace připojení služby a zobrazí se zablokovaná obrazovka načítání oborů názvů .
Od verze Kubernetes 1.24 se dlouhodobé tokeny už ve výchozím nastavení nevytvořily. Kubernetes doporučuje nepoužít dlouhodobé tokeny. V důsledku toho úlohy používající připojení ke službě 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 Service 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 clusteru se zakázanými místními účty. Tato metoda nezávisí na připojení ke clusteru v době, kdy vytváříte připojení služby. Přístup k AKS se odkládá na modul runtime kanálu, který má následující výhody:
- Přístup ke (privátnímu) clusteru AKS je možné provádět z agenta v místním prostředí nebo z agenta škálovací sady, který je v dohledu clusteru.
- Token se vytvoří pro každou úlohu, která používá připojení služby Azure Resource Manager. Tím se zajistí, že se ke Kubernetes připojujete pomocí krátkodobého tokenu, což je doporučení Kubernetes.
- K AKS je možné přistupovat i v případech, kdy jsou místní účty zakázané.
Nejčastější dotazy k připojení služby
Zobrazuje se 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 možnost připojení ke službě Kubernetes s předplatným Azure. Tuto metodu aktualizujeme tak, aby vytvářela 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 podle pokynů Kubernetes nepoužívat dlouhodobé tokeny.
Používám AKS a nechci nic změnit. Můžu dál používat úlohy s připojením ke službě Kubernetes?
Tuto metodu aktualizujeme tak, aby vytvářela dlouhodobé tokeny. Očekává se, že bude k dispozici v polovině května. Mějte ale na paměti, že tento přístup je v rozporu s pokyny kubernetes.
Používám úlohy Kubernetes a připojení služby Kubernetes, ale ne AKS. Mám se znepokojovat?
Úkoly budou dál fungovat jako předtím.
Odebere se typ připojení ke službě Kubernetes?
Naše úlohy Kubernetes fungují s libovolným clusterem Kubernetes bez ohledu na to, kde jsou spuštěné. Připojení ke službě Kubernetes bude dál existovat.
Mám jednat jako zákazník AKS a všechno funguje správně?
Není potřeba nic měnit. Pokud při vytváření používáte připojení služby Kubernetes a vyberete předplatné Azure, měli byste znát pokyny Kubernetes k používání dlouhodobých tokenů.
Vytvářím prostředí Kubernetes a nemám možnost používat připojení služeb
Pokud během vytváření prostředí nemáte přístup k AKS, můžete použít prázdné prostředí a nastavit connectionType
vstup na připojení služby Azure Resource Manager.
Mám nakonfigurovanou službu AKS s Azure Active Directory RBAC a kanál nefunguje. Vyřeší to tyto aktualizace?
Přístup ke Kubernetes, když je povolený AAD RBAC, nesouvisí s vytvářením tokenů. Abychom zabránili interaktivní výzvě, budeme kubelogin podporovat v budoucí aktualizaci.
Příkazy
Vstup příkazu přijímá příkazy kubectl.
Tento příklad YAML ukazuje příkaz 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
Tento příklad YAML ukazuje použití konfiguračního souboru s příkazem 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
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)
Tajné kódy
Objekty Kubernetes typu tajný kód jsou určené 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ž jejich doslovné vkládání doslovně do definice podu nebo do image Dockeru. Azure Pipelines zjednodušuje přidání ImagePullSecrets
do účtu služby nebo nastavení jakéhokoli obecného tajného klíče, 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 vstup 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
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
Mapa konfigurace
Objekty ConfigMap umožňují oddělit artefakty konfigurace od obsahu obrázku, aby se zachovala přenositelnost pro kontejnerizované aplikace.
Tento příklad YAML vytvoří ConfigMap odkazem na soubor ConfigMap:
- task: Kubernetes@1
displayName: kubectl apply
inputs:
configMapName: myconfig
useConfigMapFile: true
configMapFile: src/configmap
Tento příklad YAML vytvoří ConfigMap zadáním hodnot literálů přímo jako vstup configMapArguments a nastavením 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í potíží
Můj cluster Kubernetes se nachází za bránou firewall a používám hostované agenty. Jak můžu provést nasazení do tohoto clusteru?
Hostovaným agentům můžete udělit přístup přes bránu firewall povolením IP adres hostovaných agentů. Další podrobnosti najdete v části věnované rozsahům IP adres agentů.
Požadavky
Požadavek | Popis |
---|---|
Typy kanálů | YAML, klasický build, 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ů | Všechny |
Nastavitelné proměnné | Všechny |
Verze agenta | Všechny podporované verze agenta. |
Kategorie úloh | Nasazení |