Sdílet prostřednictvím


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

snímek obrazovky s výběrem metody ověřování připojení ke službě Kubernetes

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.

snímek obrazovky s výběrem dialogového okna ověřování připojení ke službě Kubernetes zablokovaným při načítání oborů názvů

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