Kubernetes@1 – Kubectl v1-uppgift

Distribuera, konfigurera, uppdatera ett Kubernetes-kluster i Azure Container Service genom att köra kubectl-kommandon.

Distribuera, konfigurera, uppdatera ditt Kubernetes-kluster i Azure Container Service genom att köra kubectl-kommandon.

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.

Indata

connectionType - Tjänstanslutningstyp
string. Krävs när command != logout. Tillåtna värden: Azure Resource Manager, Kubernetes Service Connection, None. Standardvärde: Kubernetes Service Connection.

Anger tjänstanslutningstypen: Azure Resource Manager när du använder Azure Kubernetes Service eller Kubernetes Service Connection för andra kluster.

  • Kubernetes Service Connection – Gör att du kan ange en KubeConfig-fil, ange ett tjänstkonto eller importera en AKS-instans med alternativet Azure-prenumeration . Om du importerar en AKS-instans med alternativet Azure-prenumeration krävs Kubernetes-klusteråtkomst vid konfigurationstiden för tjänstanslutning.
  • Azure Resource Manager – Låter dig välja en AKS-instans. Har inte åtkomst till Kubernetes-kluster vid konfigurationstiden för tjänstanslutning.
  • None – Använd en i förväg skapad Kubernetes-konfiguration som lagras lokalt.

Mer information finns i Tjänstanslutningi följande kommentarsavsnitt.


connectionType - Tjänstanslutningstyp
string. Krävs när command != logout. Tillåtna värden: Azure Resource Manager, Kubernetes Service Connection, None. Standardvärde: Azure Resource Manager.

Anger tjänstanslutningstypen: Azure Resource Manager när du använder Azure Kubernetes Service eller Kubernetes Service Connection för andra kluster.


kubernetesServiceEndpoint - Kubernetes-tjänstanslutning
string. Krävs när connectionType = Kubernetes Service Connection && command != logout.

Välj en Kubernetes-tjänstanslutning.


azureSubscriptionEndpoint - Azure-prenumeration
string. Krävs när connectionType = Azure Resource Manager && command != logout.

Anger Azure Resource Manager-prenumerationen, som innehåller Azure Container Registry.

Anteckning

Om du vill konfigurera en ny tjänstanslutning anger du Azure-prenumerationen i listan och klickar på Authorize. Om din prenumeration inte visas eller om du vill använda ett befintligt tjänsthuvudnamn kan du konfigurera en Azure-tjänstanslutning med hjälp av knapparna Add eller Manage .


azureResourceGroup - Resursgrupp
string. Krävs när connectionType = Azure Resource Manager && command != logout.

Välj en Azure-resursgrupp.


kubernetesCluster - Kubernetes-kluster
string. Krävs när connectionType = Azure Resource Manager && command != logout.

Välj ett Hanterat Azure-kluster.


useClusterAdmin - Använda autentiseringsuppgifter för klusteradministratör
boolean. Valfritt. Använd när connectionType = Azure Resource Manager && command != logout. Standardvärde: false.

Använd autentiseringsuppgifter för klusteradministratör i stället för standardautentiseringsuppgifter för klusteranvändare.


namespace - Namnområde
string. Valfritt. Använd när command != logout.

Ange namnområdet för kubectl-kommandot med hjälp av flaggan -namespace. Om namnområdet inte anges körs kommandona i standardnamnområdet.


command - Kommandot
string. Tillåtna värden: apply, create, delete, exec, expose, get, logoutlogin, logs, run, set. top

Välj eller ange ett kubectl-kommando som ska köras. Listan över tillåtna värden innehåller några vanliga alternativ för enkel markering när du använder uppgiften assistent, men du kan ange andra kubectl-kommandon som scale. Använd indata arguments för att ange ytterligare parametrar för det angivna kubectl kommandot.


command - Kommandot
string. Krävs. Tillåtna värden: apply, create, delete, exec, expose, get, logoutlogin, logs, run, set. top Standardvärde: apply.

Välj eller ange ett kubectl-kommando som ska köras.


useConfigurationFile - Använda konfiguration
boolean. Valfritt. Använd när command != login && command != logout. Standardvärde: false.

Anger kubernetes-konfigurationen som ska användas med kubectl kommandot . Infogade skript, filnamn, katalog eller URL till Kubernetes-konfigurationsfiler kan tillhandahållas.


useConfigurationFile - Använda konfigurationsfiler
boolean. Valfritt. Använd när command != login && command != logout. Standardvärde: false.

Anger kubernetes-konfigurationen som ska användas med kubectl kommandot . Infogade skript, filnamn, katalog eller URL till Kubernetes-konfigurationsfiler kan tillhandahållas.


configurationType - Konfigurationstyp
string. Valfritt. Använd när useConfigurationFile = true. Tillåtna värden: configuration (filsökväg), inline (infogad konfiguration). Standardvärde: configuration.

Anger typen av Kubernetes-konfiguration för kubectl kommandot. Det kan vara en filsökväg eller ett infogat skript.


configuration - Filsökväg
string. Krävs när configurationType = configuration.

Anger filnamn, katalog eller URL till kubernetes-konfigurationsfiler som används med kommandona.


configuration - Konfigurationsfil
string. Krävs när useConfigurationFile = true.

Anger filnamn, katalog eller URL till kubernetes-konfigurationsfiler som används med kommandona.


inline - Infogad konfiguration
string. Krävs när configurationType = inline.

Anger den infogade distributionskonfigurationen kubectl för kommandot.


arguments - Argument
string. Valfritt. Använd när command != login && command != logout.

Argument till det angivna kubectl-kommandot.


secretType - Typ av hemlighet
string. Krävs när command != login && command != logout. Tillåtna värden: dockerRegistry, generic. Standardvärde: dockerRegistry.

Skapa/uppdatera en allmän eller docker-avbildningpullsecret. Välj dockerRegistry för att skapa/uppdatera imagepullsecret för det valda registret. En imagePullSecret är ett sätt att skicka en hemlighet som innehåller ett containerregisterlösenord till Kubelet så att den kan hämta en privat avbildning åt podden.


secretArguments - Argument
string. Valfritt. Använd när secretType = generic && command != login && command != logout.

Anger de nycklar och literalvärden som ska infogas i hemlighet. Till exempel eller --from-literal=key1=value1--from-literal=key2="top secret".


containerRegistryType - Containerregistertyp
string. Krävs när secretType = dockerRegistry && command != login && command != logout. Tillåtna värden: Azure Container Registry, Container Registry. Standardvärde: Azure Container Registry.

Välj en containerregistertyp. Uppgiften kan använda Azure-prenumerationsinformation för att arbeta med ett Azure Container-register. Andra standardregister för containrar stöds också.


dockerRegistryEndpoint - Docker-registertjänstanslutning
string. Valfritt. Använd när secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout.

Välj en Docker-registertjänstanslutning. Krävs för kommandon som behöver autentiseras med ett register.


azureSubscriptionEndpointForSecrets - Azure-prenumeration
string. Valfritt. Använd när secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout.

Anger Azure Resource Manager-prenumerationen, som innehåller Azure Container Registry.

Anteckning

Om du vill konfigurera en ny tjänstanslutning väljer du Azure-prenumerationen i listan och klickar på Authorize. Om din prenumeration inte visas eller om du vill använda ett befintligt tjänsthuvudnamn kan du konfigurera en Azure-tjänstanslutning med hjälp av knapparna Add eller Manage .


azureContainerRegistry - Azure Container Registry
string. Valfritt. Använd när secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout.

Anger en Azure Container Registry som används för att hämta containeravbildningar och distribuera program till Kubernetes-klustret. Krävs för kommandon som behöver autentiseras med ett register.


secretName - Hemligt namn
string. Valfritt. Använd när command != login && command != logout.

Namnet på hemligheten. Du kan använda det här hemliga namnet i Kubernetes YAML-konfigurationsfilen.


forceUpdate - Framtvinga uppdateringshemlighet
boolean. Valfritt. Använd när command != login && command != logout. Standardvärde: true.

Ta bort hemligheten om den finns och skapa en ny med uppdaterade värden.


configMapName - ConfigMap-namn
string. Valfritt. Använd när command != login && command != logout.

Med ConfigMaps kan du frikoppla konfigurationsartefakter från bildinnehåll för att hålla containerbaserade program portabla.


forceUpdateConfigMap - Framtvinga uppdateringskonfiguration
boolean. Valfritt. Använd när command != login && command != logout. Standardvärde: false.

Ta bort konfigurationskartan om den finns och skapa en ny med uppdaterade värden.


useConfigMapFile - Använd fil
boolean. Valfritt. Använd när command != login && command != logout. Standardvärde: false.

Skapar en ConfigMap från en enskild fil eller från flera filer genom att ange en katalog.


configMapFile - ConfigMap-fil
string. Krävs när useConfigMapFile = true && command != login && command != logout.

Ange en fil eller katalog som innehåller configMaps.


configMapArguments - Argument
string. Valfritt. Använd när useConfigMapFile = false && command != login && command != logout.

Anger de nycklar och literalvärden som ska infogas i configMap. Exempel: --from-literal=key1=value1 eller --from-literal=key2="top secret".


versionOrLocation - Kubectl
string. Tillåtna värden: version, location (Ange plats). Standardvärde: version.

kubectl är ett kommandoradsgränssnitt för att köra kommandon mot Kubernetes-kluster.


versionOrLocation - Kubectl
string. Valfritt. Använd när command != login && command != logout. Tillåtna värden: version, location (Ange plats). Standardvärde: version.

kubectl är ett kommandoradsgränssnitt för att köra kommandon mot Kubernetes-kluster.


versionSpec - Versionsspecifikation
string. Valfritt. Använd när versionOrLocation = version. Standardvärde: 1.13.2.

Anger versionsspecifikationen för den version som ska hämtas. Exempel: 1.7.0, 1.x.0, 4.x.0, 6.10.0, >=6.10.0.


versionSpec - Versionsspecifikation
string. Valfritt. Använd när versionOrLocation = version && command != login && command != logout. Standardvärde: 1.7.0.

-18-2 Anger versionsspecifikationen för den version som ska hämtas. Exempel: 1.7.0, 1.x.0, 4.x.0, 6.10.0, >=6.10.0.


checkLatest - Sök efter den senaste versionen
boolean. Valfritt. Använd när versionOrLocation = version. Standardvärde: false.

Söker alltid online efter den senaste tillgängliga versionen (stable.txt) som uppfyller versionsspecifikationen. Detta är vanligtvis falskt om du inte har ett specifikt scenario för att alltid få det senaste. Detta medför nedladdningskostnader när det inte är nödvändigt, särskilt med den värdbaserade byggpoolen.


checkLatest - Sök efter den senaste versionen
boolean. Valfritt. Använd när versionOrLocation = version && command != login && command != logout. Standardvärde: false.

Söker alltid online efter den senaste tillgängliga versionen (stable.txt) som uppfyller versionsspecifikationen. Detta är vanligtvis falskt om du inte har ett specifikt scenario för att alltid få det senaste. Detta medför nedladdningskostnader när det inte är nödvändigt, särskilt med den värdbaserade byggpoolen.


specifyLocation - Sökväg till kubectl
string. Krävs när versionOrLocation = location.

Anger den fullständiga sökvägen till kubectl.exe filen.


specifyLocation - Sökväg till kubectl
string. Krävs när versionOrLocation = location && command != login && command != logout.

Anger den fullständiga sökvägen till kubectl.exe filen.


workingDirectory - Arbetskatalog
Indataalias: cwd. string. Standardvärde: $(System.DefaultWorkingDirectory).

Arbetskatalog för Kubectl-kommandot.


workingDirectory - Arbetskatalog
Indataalias: cwd. string. Valfritt. Använd när command != login && command != logout. Standardvärde: $(System.DefaultWorkingDirectory).

Arbetskatalog för Kubectl-kommandot.


outputFormat - Utdataformat
string. Tillåtna värden: json, yaml, none. Standardvärde: json.

Utdataformat.


outputFormat - Utdataformat
string. Tillåtna värden: json, yaml. Standardvärde: json.

Utdataformat.


outputFormat - Utdataformat
string. Valfritt. Använd när command != login && command != logout. Tillåtna värden: json, yaml. Standardvärde: json.

Utdataformat.


Kontrollalternativ för aktivitet

Alla aktiviteter har kontrollalternativ utöver sina aktivitetsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.

Utdatavariabler

Den här aktiviteten definierar följande utdatavariabler, som du kan använda i underordnade steg, jobb och faser.

KubectlOutput
Lagrar kommandots kubectl utdata.

Kommentarer

Nyheter i version 1.0.

  • Lade till en ny tjänstanslutningstyp för enkelt val av Azure AKS-kluster.
  • Ersatte utdatavariabelns indata med ett avsnitt för utdatavariabler som vi lade till i alla aktiviteter.

Använd den här uppgiften för att distribuera, konfigurera eller uppdatera ett Kubernetes-kluster genom att köra kubectl-kommandon.

Tjänstanslutning

Uppgiften fungerar med två tjänstanslutningstyper: Azure Resource Manager och Kubernetes Service Connection, som beskrivs nedan.

Azure Resource Manager

Ange connectionType till Azure Resource Manager och ange en azureSubscriptionEndpoint för att använda en Azure Resource Manager-tjänstanslutning.

Det här YAML-exemplet visar hur Azure Resource Manager används för att referera till Kubernetes-klustret. Detta ska användas med ett av kubectl-kommandona och lämpliga värden som krävs av kommandot.

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)

Kubernetes-tjänstanslutning

Ange connectionType till Kubernetes Service Connection och ange en kubernetesServiceEndpoint för att använda en Kubernetes-tjänstanslutning.

Det här YAML-exemplet visar hur en Kubernetes Service-anslutning används för att referera till Kubernetes-klustret. Detta ska användas med ett av kubectl-kommandona och lämpliga värden som krävs av kommandot.

- task: Kubernetes@1
  displayName: kubectl apply
  inputs:
    connectionType: Kubernetes Service Connection
    kubernetesServiceEndpoint: Contoso

Överväganden för Kubernetes-tjänstanslutning vid åtkomst till AKS

Du kan skapa en Kubernetes-tjänstanslutning med något av följande alternativ.

  • KubeConfig
  • Tjänstkonto
  • Azure Subscription (Azure-prenumeration)

Skärmbild av att välja en autentiseringsmetod för Kubernetes-tjänstanslutning.

När du väljer alternativet Azure-prenumeration måste Kubernetes vara tillgängligt för Azure DevOps vid konfigurationstiden för tjänstanslutningen. Det kan finnas olika orsaker till att det inte går att skapa en tjänstanslutning, till exempel att du har skapat ett privat kluster eller att klustret har inaktiverat lokala konton. I dessa fall kan Azure DevOps inte ansluta till klustret vid konfigurationstiden för tjänstanslutningen, och du ser en skärm för inläsning av namnrymder som fastnat .

Skärmbild av att välja en dialogruta för autentisering av Kubernetes-tjänstanslutning som fastnat vid inläsning av namnrymder.

Från och med Kubernetes 1.24 skapas inte längre långlivade token som standard. Kubernetes rekommenderar att du inte använder långlivade token. Därför har uppgifter som använder en Kubernetes-tjänstanslutning som skapats med alternativet Azure-prenumeration inte åtkomst till den permanenta token som krävs för att autentisera och kan inte komma åt ditt Kubernetes-kluster. Detta resulterar också i dialogrutan Låst inläsning av namnrymder .

Använda Azure Resource Manager-tjänstanslutningen för att få åtkomst till AKS

För AKS-kunder är anslutningstypen för Azure Resource Manager-tjänsten den bästa metoden för att ansluta till ett privat kluster eller ett kluster som har inaktiverat lokala konton. Den här metoden är inte beroende av klusteranslutningen när du skapar en tjänstanslutning. Åtkomsten till AKS skjuts upp till pipelinekörning, vilket har följande fördelar:

  • Åtkomst till ett (privat) AKS-kluster kan utföras från en lokalt installerad agent eller skalningsuppsättningsagent med siktlinje till klustret.
  • En token skapas för varje uppgift som använder en Azure Resource Manager-tjänstanslutning. Detta säkerställer att du ansluter till Kubernetes med en kortlivad token, vilket är Kubernetes-rekommendationen.
  • AKS kan nås även när lokala konton är inaktiverade.

Vanliga frågor och svar om tjänstanslutning

Jag får följande felmeddelande: Det gick inte att hitta någon hemlighet som är associerad med tjänstkontot. Vad händer?

Du använder alternativet Kubernetes-tjänstanslutning med Azure-prenumeration. Vi uppdaterar den här metoden för att skapa långlivade token. Detta förväntas vara tillgängligt i mitten av maj. Vi rekommenderar dock att du börjar använda anslutningstypen för Azure-tjänsten och inte använda långlivade token enligt Kubernetes-vägledningen.

Jag använder AKS och vill inte ändra något, kan jag fortsätta att använda uppgifter med Kubernetes-tjänstanslutningen?

Vi uppdaterar den här metoden för att skapa långlivade token. Detta förväntas vara tillgängligt i mitten av maj. Tänk dock på att den här metoden är emot Kubernetes-vägledningen.

Jag använder Kubernetes-uppgifter och Kubernetes-tjänstanslutningen, men inte AKS. Ska jag oroa mig?

Aktiviteterna fortsätter att fungera som tidigare.

Kommer Kubernetes-tjänstens anslutningstyp att tas bort?

Våra Kubernetes-uppgifter fungerar med alla Kubernetes-kluster, oavsett var de körs. Kubernetes-tjänstanslutningen fortsätter att finnas.

Jag är AKS-kund och allt fungerar bra, ska jag agera?

Det finns inget behov av att ändra någonting. Om du använder Kubernetes-tjänstanslutningen och valde Azure-prenumeration när du skapade den bör du känna till Kubernetes-vägledningen om hur du använder långlivade token.

Jag skapar en Kubernetes-miljö och har inget alternativ för att använda tjänstanslutningar

Om du inte kan komma åt din AKS när miljön skapas kan du använda en tom miljö och ange connectionType indata till en Azure Resource Manager-tjänstanslutning.

Jag har konfigurerat AKS med Azure Active Directory RBAC och min pipeline fungerar inte. Kommer de här uppdateringarna att lösa det?

Åtkomst till Kubernetes när AAD RBAC är aktiverat är inte relaterat till att skapa token. För att förhindra en interaktiv uppmaning stöder vi kubelogin i en framtida uppdatering.

Kommandon

Kommandoindata accepterar kubectl-kommandon.

Det här YAML-exemplet visar kommandot 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

Det här YAML-exemplet visar användningen av en konfigurationsfil med kommandot 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

Det här YAML-exemplet visar hur du använder skalningskommandot för att minska antalet repliker i en distribution till 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)

Hemligheter

Kubernetes-objekt av typen hemlighet är avsedda att innehålla känslig information som lösenord, OAuth-token och ssh-nycklar. Att placera den här informationen i en hemlighet är säkrare och mer flexibelt än att lägga den ordagrant i en podddefinition eller i en Docker-avbildning. Azure Pipelines förenklar tillägget av ImagePullSecrets till ett tjänstkonto eller konfiguration av en allmän hemlighet enligt beskrivningen nedan.

ImagePullSecret

Det här YAML-exemplet visar hur du konfigurerar 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

Allmänna hemligheter

Det här YAML-exemplet skapar generiska hemligheter från literalvärden som angetts för secretArguments-indata :

    - 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

Pipelinevariabler kan användas för att skicka argument för att ange literalvärden, som du ser här:

    - 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

Med ConfigMaps kan du frikoppla konfigurationsartefakter från bildinnehåll för att upprätthålla portabiliteten för containerbaserade program.

Det här YAML-exemplet skapar en ConfigMap genom att peka på en ConfigMap-fil:

    - task: Kubernetes@1
      displayName: kubectl apply
      inputs:
        configMapName: myconfig
        useConfigMapFile: true
        configMapFile: src/configmap

Det här YAML-exemplet skapar en ConfigMap genom att ange literalvärdena direkt som indata för configMapArguments och ange forceUpdate till 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

Du kan använda pipelinevariabler för att skicka literalvärden när du skapar ConfigMap, som du ser här:

    - 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)

Felsökning

Mitt Kubernetes-kluster ligger bakom en brandvägg och jag använder värdbaserade agenter. Hur gör jag för att distribuera till det här klustret?

Du kan bevilja värdbaserade agenter åtkomst genom brandväggen genom att tillåta IP-adresserna för värdbaserade agenter. Mer information finns i IP-intervall för agenter

Krav

Krav Beskrivning
Pipelinetyper YAML, klassisk version, klassisk version
Körs på Agent, DeploymentGroup
Krav Ingen
Funktioner Den här aktiviteten uppfyller inte några krav för efterföljande uppgifter i jobbet.
Kommandobegränsningar Valfri
Inställningsbara variabler Valfri
Agentversion Alla agentversioner som stöds.
Uppgiftskategori Distribuera