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
, set
run
, . 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
, set
run
, . 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
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 .
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 |