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, , execdelete, 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, , execdelete, 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=value1nebo --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

Snímek obrazovky s volbou metody ověřování připojení služby Kubernetes

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

Snímek obrazovky s výběrem dialogového okna ověřování připojení služby Kubernetes při 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í