Delen via


Kubernetes@1 - Kubectl v1-taak

Implementeer, configureer en werk een Kubernetes-cluster bij in Azure Container Service door kubectl-opdrachten uit te voeren.

Implementeer, configureer en werk uw Kubernetes-cluster bij in Azure Container Service door kubectl-opdrachten uit te voeren.

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.

Invoerwaarden

connectionType - Serviceverbindingstype
string. Vereist wanneer command != logout. Toegestane waarden: Azure Resource Manager, Kubernetes Service Connection, None. Standaardwaarde: Kubernetes Service Connection.

Hiermee geeft u het serviceverbindingstype op: Azure Resource Manager bij het gebruik van Azure Kubernetes Service- of Kubernetes-serviceverbinding voor een ander cluster.

  • Kubernetes Service Connection - Hiermee kunt u een KubeConfig-bestand opgeven, een serviceaccount opgeven of een AKS-exemplaar importeren met de optie Azure-abonnement . Voor het importeren van een AKS-exemplaar met de optie Azure-abonnement is toegang tot het Kubernetes-cluster vereist tijdens de configuratie van de serviceverbinding.
  • Azure Resource Manager - Hiermee kunt u een AKS-exemplaar selecteren. Heeft geen toegang tot het Kubernetes-cluster tijdens de configuratie van de serviceverbinding.
  • None - Gebruik een vooraf gemaakte Kubernetes-configuratie die lokaal is opgeslagen.

Zie Serviceverbinding in de volgende sectie Opmerkingen voor meer informatie.


connectionType - Serviceverbindingstype
string. Vereist wanneer command != logout. Toegestane waarden: Azure Resource Manager, Kubernetes Service Connection, None. Standaardwaarde: Azure Resource Manager.

Hiermee geeft u het serviceverbindingstype op: Azure Resource Manager bij het gebruik van Azure Kubernetes Service- of Kubernetes-serviceverbinding voor een ander cluster.


kubernetesServiceEndpoint - Kubernetes-serviceverbinding
string. Vereist wanneer connectionType = Kubernetes Service Connection && command != logout.

Selecteer een Kubernetes-serviceverbinding.


azureSubscriptionEndpoint - Azure-abonnement
string. Vereist wanneer connectionType = Azure Resource Manager && command != logout.

Hiermee geeft u het Azure Resource Manager-abonnement op, dat de Azure Container Registry bevat.

Notitie

Als u een nieuwe serviceverbinding wilt configureren, geeft u het Azure-abonnement op in de lijst en klikt u op Authorize. Als uw abonnement niet wordt vermeld of als u een bestaande service-principal wilt gebruiken, kunt u een Azure-serviceverbinding instellen met behulp van de Add knoppen of Manage .


azureResourceGroup - Resourcegroep
string. Vereist wanneer connectionType = Azure Resource Manager && command != logout.

Selecteer een Azure-resourcegroep.


kubernetesCluster - Kubernetes-cluster
string. Vereist wanneer connectionType = Azure Resource Manager && command != logout.

Selecteer een beheerd Azure-cluster.


useClusterAdmin - Referenties van clusterbeheerder gebruiken
boolean. Optioneel. Gebruik wanneer connectionType = Azure Resource Manager && command != logout. Standaardwaarde: false.

Gebruik referenties voor clusterbeheerder in plaats van standaardgebruikersreferenties voor het cluster.


namespace - Naamruimte
string. Optioneel. Gebruik wanneer command != logout.

Stel de naamruimte voor de opdracht kubectl in met behulp van de vlag –namespace. Als de naamruimte niet is opgegeven, worden de opdrachten uitgevoerd in de standaardnaamruimte.


command - Opdracht
string. Toegestane waarden: apply, create, delete, exec, expose, get, login, logout, logs, setrun, . top

Selecteer of geef een kubectl-opdracht op die moet worden uitgevoerd. De lijst met toegestane waarden biedt enkele algemene opties voor een eenvoudige selectie bij het gebruik van de taak assistent, maar u kunt andere kubectl-opdrachten opgeven, zoals scale. Gebruik de arguments invoer om extra parameters voor de opgegeven kubectl opdracht op te geven.


command - Opdracht
string. Vereist. Toegestane waarden: apply, create, delete, exec, expose, get, login, logout, logs, setrun, . top Standaardwaarde: apply.

Selecteer of geef een kubectl-opdracht op die moet worden uitgevoerd.


useConfigurationFile - Configuratie gebruiken
boolean. Optioneel. Gebruik wanneer command != login && command != logout. Standaardwaarde: false.

Hiermee geeft u de Kubernetes-configuratie te gebruiken met de kubectl opdracht. Het inlinescript, de bestandsnaam, de map of de URL naar Kubernetes-configuratiebestanden kunnen worden opgegeven.


useConfigurationFile - Configuratiebestanden gebruiken
boolean. Optioneel. Gebruik wanneer command != login && command != logout. Standaardwaarde: false.

Hiermee geeft u de Kubernetes-configuratie te gebruiken met de kubectl opdracht. Het inlinescript, de bestandsnaam, de map of de URL naar Kubernetes-configuratiebestanden kunnen worden opgegeven.


configurationType - Configuratietype
string. Optioneel. Gebruik wanneer useConfigurationFile = true. Toegestane waarden: configuration (bestandspad), inline (inlineconfiguratie). Standaardwaarde: configuration.

Hiermee geeft u het type Kubernetes-configuratie voor de kubectl opdracht. Dit kan een bestandspad of een inlinescript zijn.


configuration - Bestandspad
string. Vereist wanneer configurationType = configuration.

Hiermee geeft u de bestandsnaam, map of URL naar kubernetes-configuratiebestanden die wordt gebruikt met de opdrachten.


configuration - Configuratiebestand
string. Vereist wanneer useConfigurationFile = true.

Hiermee geeft u de bestandsnaam, map of URL naar kubernetes-configuratiebestanden die wordt gebruikt met de opdrachten.


inline - Inlineconfiguratie
string. Vereist wanneer configurationType = inline.

Hiermee geeft u de configuratie van de inline-implementatie voor de kubectl opdracht.


arguments - Argumenten
string. Optioneel. Gebruik wanneer command != login && command != logout.

Argumenten voor de opgegeven kubectl-opdracht.


secretType - Type geheim
string. Vereist wanneer command != login && command != logout. Toegestane waarden: dockerRegistry, generic. Standaardwaarde: dockerRegistry.

Een algemeen of docker imagepullsecret maken/bijwerken. Selecteer dockerRegistry om de imagepullsecret van het geselecteerde register te maken/bij te werken. Een imagePullSecret is een manier om een geheim met een containerregisterwachtwoord door te geven aan de Kubelet, zodat deze een persoonlijke installatiekopie namens uw pod kan ophalen.


secretArguments - Argumenten
string. Optioneel. Gebruik wanneer secretType = generic && command != login && command != logout.

Hiermee geeft u de sleutels en letterlijke waarden die in het geheim moeten worden ingevoegd. Bijvoorbeeld of --from-literal=key1=value1--from-literal=key2="top secret".


containerRegistryType - Type containerregister
string. Vereist wanneer secretType = dockerRegistry && command != login && command != logout. Toegestane waarden: Azure Container Registry, Container Registry. Standaardwaarde: Azure Container Registry.

Selecteer een type containerregister. De taak kan azure-abonnementsgegevens gebruiken om te werken met een Azure-containerregister. Andere standaardcontainerregisters worden ook ondersteund.


dockerRegistryEndpoint - Verbinding met docker-registerservice
string. Optioneel. Gebruik wanneer secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout.

Selecteer een Docker-registerserviceverbinding. Vereist voor opdrachten die moeten worden geverifieerd met een register.


azureSubscriptionEndpointForSecrets - Azure-abonnement
string. Optioneel. Gebruik wanneer secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout.

Hiermee geeft u het Azure Resource Manager-abonnement op, dat Azure Container Registry bevat.

Notitie

Als u een nieuwe serviceverbinding wilt configureren, selecteert u het Azure-abonnement in de lijst en klikt u op Authorize. Als uw abonnement niet wordt vermeld of als u een bestaande service-principal wilt gebruiken, kunt u een Azure-serviceverbinding instellen met behulp van de Add knoppen of Manage .


azureContainerRegistry - Azure Container Registry
string. Optioneel. Gebruik wanneer secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout.

Hiermee geeft u een Azure Container Registry die wordt gebruikt voor het ophalen van containerinstallatiekopieën en het implementeren van toepassingen in het Kubernetes-cluster. Vereist voor opdrachten die moeten worden geverifieerd met een register.


secretName - Geheime naam
string. Optioneel. Gebruik wanneer command != login && command != logout.

Naam van het geheim. U kunt deze geheime naam gebruiken in het Kubernetes YAML-configuratiebestand.


forceUpdate - Updategeheim afdwingen
boolean. Optioneel. Gebruik wanneer command != login && command != logout. Standaardwaarde: true.

Verwijder het geheim als dit bestaat en maak een nieuw geheim met bijgewerkte waarden.


configMapName - Naam van ConfigMap
string. Optioneel. Gebruik wanneer command != login && command != logout.

Met ConfigMaps kunt u configuratieartefacten loskoppelen van afbeeldingsinhoud om toepassingen in containers draagbaar te houden.


forceUpdateConfigMap - Configuratiekaart voor bijwerken forceren
boolean. Optioneel. Gebruik wanneer command != login && command != logout. Standaardwaarde: false.

Verwijder de configmap als deze bestaat en maak een nieuwe met bijgewerkte waarden.


useConfigMapFile - Bestand gebruiken
boolean. Optioneel. Gebruik wanneer command != login && command != logout. Standaardwaarde: false.

Hiermee maakt u een ConfigMap van een afzonderlijk bestand of van meerdere bestanden door een map op te geven.


configMapFile - ConfigMap-bestand
string. Vereist wanneer useConfigMapFile = true && command != login && command != logout.

Geef een bestand of map op die de configMaps bevat.


configMapArguments - Argumenten
string. Optioneel. Gebruik wanneer useConfigMapFile = false && command != login && command != logout.

Hiermee geeft u de sleutels en letterlijke waarden die moeten worden ingevoegd in configMap. Bijvoorbeeld --from-literal=key1=value1 of --from-literal=key2="top secret".


versionOrLocation - Kubectl
string. Toegestane waarden: version, location (Locatie opgeven). Standaardwaarde: version.

kubectl is een opdrachtregelinterface voor het uitvoeren van opdrachten op Kubernetes-clusters.


versionOrLocation - Kubectl
string. Optioneel. Gebruik wanneer command != login && command != logout. Toegestane waarden: version, location (Locatie opgeven). Standaardwaarde: version.

kubectl is een opdrachtregelinterface voor het uitvoeren van opdrachten op Kubernetes-clusters.


versionSpec - Versiespecificatie
string. Optioneel. Gebruik wanneer versionOrLocation = version. Standaardwaarde: 1.13.2.

Hiermee geeft u de versiespecificatie van de versie op te halen. Voorbeelden: 1.7.0, 1.x.0, 4.x.0, 6.10.0, . >=6.10.0


versionSpec - Versiespecificatie
string. Optioneel. Gebruik wanneer versionOrLocation = version && command != login && command != logout. Standaardwaarde: 1.7.0.

-18-2 Hiermee geeft u de versiespecificatie van de versie op te halen. Voorbeelden: 1.7.0, 1.x.0, 4.x.0, 6.10.0, . >=6.10.0


checkLatest - Controleren op de nieuwste versie
boolean. Optioneel. Gebruik wanneer versionOrLocation = version. Standaardwaarde: false.

Controleert altijd online op de meest recente beschikbare versie (stable.txt) die voldoet aan de versiespecificatie. Dit is meestal onwaar, tenzij u een specifiek scenario hebt om altijd de meest recente te verkrijgen. Dit leidt ertoe dat er downloadkosten in rekening worden gebracht wanneer dit mogelijk niet nodig is, met name bij de gehoste buildgroep.


checkLatest - Controleren op de nieuwste versie
boolean. Optioneel. Gebruik wanneer versionOrLocation = version && command != login && command != logout. Standaardwaarde: false.

Controleert altijd online op de meest recente beschikbare versie (stable.txt) die voldoet aan de versiespecificatie. Dit is meestal onwaar, tenzij u een specifiek scenario hebt om altijd de meest recente te verkrijgen. Dit leidt ertoe dat er downloadkosten in rekening worden gebracht wanneer dit mogelijk niet nodig is, met name bij de gehoste buildgroep.


specifyLocation - Pad naar kubectl
string. Vereist wanneer versionOrLocation = location.

Hiermee geeft u het volledige pad naar het kubectl.exe bestand.


specifyLocation - Pad naar kubectl
string. Vereist wanneer versionOrLocation = location && command != login && command != logout.

Hiermee geeft u het volledige pad naar het kubectl.exe bestand.


workingDirectory - Werkmap
Invoeralias: cwd. string. Standaardwaarde: $(System.DefaultWorkingDirectory).

Werkmap voor de Kubectl-opdracht.


workingDirectory - Werkmap
Invoeralias: cwd. string. Optioneel. Gebruik wanneer command != login && command != logout. Standaardwaarde: $(System.DefaultWorkingDirectory).

Werkmap voor de Kubectl-opdracht.


outputFormat - Uitvoerindeling
string. Toegestane waarden: json, yaml, none. Standaardwaarde: json.

Uitvoerindeling.


outputFormat - Uitvoerindeling
string. Toegestane waarden: json, yaml. Standaardwaarde: json.

Uitvoerindeling.


outputFormat - Uitvoerindeling
string. Optioneel. Gebruik wanneer command != login && command != logout. Toegestane waarden: json, yaml. Standaardwaarde: json.

Uitvoerindeling.


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Besturingsopties en algemene taakeigenschappen voor meer informatie.

Uitvoervariabelen

Deze taak definieert de volgende uitvoervariabelen, die u kunt gebruiken in downstreamstappen, taken en fasen.

KubectlOutput
Hiermee wordt de uitvoer van de kubectl opdracht opgeslagen.

Opmerkingen

Wat is er nieuw in versie 1.0.

  • Er is een nieuw type serviceverbinding toegevoegd voor eenvoudige selectie van Azure AKS-clusters.
  • De invoer van de uitvoervariabele is vervangen door een sectie met uitvoervariabelen die we in alle taken hebben toegevoegd.

Gebruik deze taak om een Kubernetes-cluster te implementeren, configureren of bij te werken door kubectl-opdrachten uit te voeren.

Serviceverbinding

De taak werkt met twee serviceverbindingstypen: Azure Resource Manager en Kubernetes Service Connection, zoals hieronder wordt beschreven.

Azure Resource Manager

Stel in connectionType op Azure Resource Manager en geef een azureSubscriptionEndpoint op om een Azure Resource Manager-serviceverbinding te gebruiken.

In dit YAML-voorbeeld ziet u hoe Azure Resource Manager wordt gebruikt om te verwijzen naar het Kubernetes-cluster. Dit moet worden gebruikt met een van de kubectl-opdrachten en de juiste waarden die voor de opdracht zijn vereist.

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

Stel in connectionType op Kubernetes Service Connection en geef een kubernetesServiceEndpoint op om een Kubernetes-serviceverbinding te gebruiken.

In dit YAML-voorbeeld ziet u hoe een Kubernetes-serviceverbinding wordt gebruikt om te verwijzen naar het Kubernetes-cluster. Dit moet worden gebruikt met een van de kubectl-opdrachten en de juiste waarden die voor de opdracht zijn vereist.

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

Overwegingen bij de kubernetes-serviceverbinding bij het openen van AKS

U kunt een Kubernetes-serviceverbinding maken met een van de volgende opties.

  • KubeConfig
  • Serviceaccount
  • Azure-abonnement

Schermopname van het kiezen van een verificatiemethode voor kubernetes-serviceverbindingen.

Wanneer u de optie Azure-abonnement selecteert, moet Kubernetes tijdens de configuratie van de serviceverbinding toegankelijk zijn voor Azure DevOps. Er kunnen verschillende redenen zijn waarom een serviceverbinding niet kan worden gemaakt, bijvoorbeeld als u een privécluster hebt gemaakt of dat lokale accounts voor het cluster zijn uitgeschakeld. In deze gevallen kan Azure DevOps geen verbinding maken met uw cluster tijdens de configuratie van de serviceverbinding en ziet u een vastgelopen scherm Naamruimten laden .

Schermopname van het kiezen van een dialoogvenster voor verbindingsverificatie van de Kubernetes-service die vastloopt bij het laden van naamruimten.

Vanaf Kubernetes 1.24 worden tokens met een lange levensduur niet meer standaard gemaakt. Kubernetes raadt aan geen tokens met een lange levensduur te gebruiken. Als gevolg hiervan hebben taken die gebruikmaken van een Kubernetes-serviceverbinding die is gemaakt met de optie Azure-abonnement geen toegang tot het permanente token dat is vereist voor verificatie en hebben ze geen toegang tot uw Kubernetes-cluster. Dit resulteert ook in het geblokkeerde dialoogvenster Naamruimten laden .

Azure Resource Manager Service Connection gebruiken om toegang te krijgen tot AKS

Voor AKS-klanten biedt het verbindingstype Azure Resource Manager-service de beste methode om verbinding te maken met een privécluster of een cluster waarvoor lokale accounts zijn uitgeschakeld. Deze methode is niet afhankelijk van de clusterconnectiviteit op het moment dat u een serviceverbinding maakt. Toegang tot AKS wordt uitgesteld tot pijplijnruntime, wat de volgende voordelen heeft:

  • Toegang tot een (privé) AKS-cluster kan worden uitgevoerd vanuit een zelf-hostende agent of schaalsetagent met zicht op het cluster.
  • Er wordt een token gemaakt voor elke taak die gebruikmaakt van een Azure Resource Manager-serviceverbinding. Dit zorgt ervoor dat u verbinding maakt met Kubernetes met een token met een korte levensduur, de Kubernetes-aanbeveling.
  • AKS is toegankelijk, zelfs wanneer lokale accounts zijn uitgeschakeld.

Veelgestelde vragen over serviceverbindingen

Ik krijg het volgende foutbericht: Kan geen geheim vinden dat is gekoppeld aan het serviceaccount. Wat gebeurt er?

U gebruikt de optie Kubernetes-serviceverbinding met Azure-abonnement. Deze methode wordt bijgewerkt om tokens met een lange levensduur te maken. Deze is naar verwachting medio mei beschikbaar. Het wordt echter aanbevolen om te beginnen met het verbindingstype van de Azure-service en niet om tokens met een lange levensduur te gebruiken volgens de Richtlijnen van Kubernetes.

Ik gebruik AKS en wil niets wijzigen. Kan ik taken blijven gebruiken met de Kubernetes-serviceverbinding?

Deze methode wordt bijgewerkt om tokens met een lange levensduur te maken. Deze is naar verwachting medio mei beschikbaar. Houd er echter rekening mee dat deze benadering in strijd is met de richtlijnen van Kubernetes.

Ik gebruik de Kubernetes-taken en kubernetes-serviceverbinding, maar niet AKS. Moet ik me zorgen maken?

Uw taken blijven werken zoals voorheen.

Wordt het verbindingstype van de Kubernetes-service verwijderd?

Onze Kubernetes-taken werken met elk Kubernetes-cluster, ongeacht waar ze worden uitgevoerd. De Kubernetes-serviceverbinding blijft bestaan.

Ik ben een AKS-klant en alles loopt goed, moet ik actie ondernemen?

U hoeft niets te wijzigen. Als u de Kubernetes-serviceverbinding en het geselecteerde Azure-abonnement gebruikt tijdens het maken, moet u rekening houden met de Kubernetes-richtlijnen voor het gebruik van tokens met een lange levensduur.

Ik maak een Kubernetes-omgeving en ik heb geen optie om serviceverbindingen te gebruiken

Als u geen toegang hebt tot uw AKS tijdens het maken van de omgeving, kunt u een lege omgeving gebruiken en de connectionType invoer instellen op een Azure Resource Manager-serviceverbinding.

Ik heb AKS geconfigureerd met Azure Active Directory RBAC en mijn pijplijn werkt niet. Wordt dit opgelost met deze updates?

Toegang tot Kubernetes wanneer AAD RBAC is ingeschakeld, is niet gerelateerd aan het maken van tokens. Om een interactieve prompt te voorkomen, ondersteunen we kubelogin in een toekomstige update.

Opdracht

De opdrachtinvoer accepteert kubectl-opdrachten.

In dit YAML-voorbeeld ziet u de opdracht 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

In dit YAML-voorbeeld ziet u het gebruik van een configuratiebestand met de opdracht 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

In dit YAML-voorbeeld ziet u hoe u de schaalopdracht gebruikt om het aantal replica's in een implementatie te verlagen tot 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)

Geheimen

Kubernetes-objecten van het type geheim zijn bedoeld voor het opslaan van gevoelige informatie, zoals wachtwoorden, OAuth-tokens en SSH-sleutels. Het plaatsen van deze informatie in een geheim is veiliger en flexibeler dan het woordelijk in een poddefinitie of in een Docker-installatiekopieën. Azure Pipelines vereenvoudigt het toevoegen van ImagePullSecrets een serviceaccount of het instellen van een algemeen geheim, zoals hieronder wordt beschreven.

ImagePullSecret

In dit YAML-voorbeeld ziet u de instelling van 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

Algemene geheimen

In dit YAML-voorbeeld worden algemene geheimen gemaakt op basis van letterlijke waarden die zijn opgegeven voor de invoer 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

Pijplijnvariabelen kunnen worden gebruikt om argumenten door te geven voor het opgeven van letterlijke waarden, zoals hier wordt weergegeven:

    - 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

Met ConfigMaps kunt u configuratieartefacten loskoppelen van afbeeldingsinhoud om de draagbaarheid voor toepassingen in containers te behouden.

In dit YAML-voorbeeld wordt een ConfigMap gemaakt door te verwijzen naar een ConfigMap-bestand:

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

In dit YAML-voorbeeld wordt een ConfigMap gemaakt door de letterlijke waarden rechtstreeks op te geven als de invoer configMapArguments en forceUpdate in te stellen op 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

U kunt pijplijnvariabelen gebruiken om letterlijke waarden door te geven bij het maken van ConfigMap, zoals hier wordt weergegeven:

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

Problemen oplossen

Mijn Kubernetes-cluster bevindt zich achter een firewall en ik gebruik gehoste agents. Hoe kan ik op dit cluster implementeren?

U kunt gehoste agents toegang verlenen via uw firewall door de IP-adressen voor de gehoste agents toe te staan. Zie Agent IP ranges (IP-bereiken van agent) voor meer informatie

Vereisten

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie Alle ondersteunde agentversies.
Taakcategorie Implementeren