Kubernetes@1 – Kubectl v1-Vorgang
Bereitstellen, Konfigurieren, Aktualisieren eines Kubernetes-Clusters im Azure-Containerdienst durch Ausführen von Kubectl-Befehlen.
Bereitstellen, Konfigurieren, Aktualisieren Ihres Kubernetes-Clusters im Azure-Containerdienst durch Ausführen von Kubectl-Befehlen.
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.
Eingänge
connectionType
-
Dienstverbindungstyp
string
. Erforderlich, wenn command != logout
. Zulässige Werte: Azure Resource Manager
, Kubernetes Service Connection
, None
. Standardwert: Kubernetes Service Connection
.
Gibt den Dienstverbindungstyp an: Azure Resource Manager bei Verwendung von Azure Kubernetes Service oder Kubernetes Service Connection für einen anderen Cluster.
-
Kubernetes Service Connection
– Ermöglicht Es Ihnen, eine KubeConfig-Datei bereitzustellen, ein Dienstkonto anzugeben oder eine AKS-Instanz mit der Option Azure-Abonnement zu importieren. Für das Importieren einer AKS-Instanz mit der Option Azure-Abonnement ist der Kubernetes-Clusterzugriff zur Dienstverbindungskonfiguration erforderlich. -
Azure Resource Manager
– Hiermit können Sie eine AKS-Instanz auswählen. Greift nicht auf Kubernetes-Cluster zur Dienstverbindungskonfiguration zu. -
None
– Verwenden Sie eine zuvor erstellte Kubernetes-Konfiguration, die lokal gespeichert ist.
Weitere Informationen finden Sie unter Dienstverbindung im folgenden abschnitt Hinweise.
connectionType
-
Dienstverbindungstyp
string
. Erforderlich, wenn command != logout
. Zulässige Werte: Azure Resource Manager
, Kubernetes Service Connection
, None
. Standardwert: Azure Resource Manager
.
Gibt den Dienstverbindungstyp an: Azure Resource Manager bei Verwendung von Azure Kubernetes Service oder Kubernetes Service Connection für einen anderen Cluster.
kubernetesServiceEndpoint
-
Kubernetes-Dienstverbindung
string
. Erforderlich, wenn connectionType = Kubernetes Service Connection && command != logout
.
Wählen Sie eine Kubernetes-Dienstverbindung aus.
azureSubscriptionEndpoint
-
Azure-Abonnement
string
. Erforderlich, wenn connectionType = Azure Resource Manager && command != logout
.
Gibt das Azure Resource Manager-Abonnement an, das die Azure-Containerregistrierung enthält.
Anmerkung
Um eine neue Dienstverbindung zu konfigurieren, geben Sie das Azure-Abonnement aus der Liste an, und klicken Sie auf Authorize
. Wenn Ihr Abonnement nicht aufgeführt ist oder Sie einen vorhandenen Dienstprinzipal verwenden möchten, können Sie eine Azure-Dienstverbindung mit den Schaltflächen Add
oder Manage
einrichten.
azureResourceGroup
-
Ressourcengruppe
string
. Erforderlich, wenn connectionType = Azure Resource Manager && command != logout
.
Wählen Sie eine Azure-Ressourcengruppe aus.
kubernetesCluster
-
Kubernetes-Cluster
string
. Erforderlich, wenn connectionType = Azure Resource Manager && command != logout
.
Wählen Sie einen von Azure verwalteten Cluster aus.
useClusterAdmin
-
Verwenden von Clusteradministratoranmeldeinformationen
boolean
. Wahlfrei. Wird verwendet, wenn connectionType = Azure Resource Manager && command != logout
. Standardwert: false
.
Verwenden Sie Clusteradministratoranmeldeinformationen anstelle von Standardbenutzeranmeldeinformationen für Clusterbenutzer.
namespace
-
Namespace-
string
. Wahlfrei. Wird verwendet, wenn command != logout
.
Legen Sie den Namespace für den Kubectl-Befehl mithilfe des Namespace-Flags fest. Wenn der Namespace nicht angegeben wird, werden die Befehle im Standardnamespace ausgeführt.
command
-
Command
string
. Zulässige Werte: apply
, create
, delete
, exec
, expose
, get
, login
, logout
, logs
, run
, set
, top
.
Wählen Sie einen kubectl-Befehl aus, der ausgeführt werden soll, oder geben Sie diesen an. Die Liste der zulässigen Werte bietet bei der Verwendung des Aufgaben-Assistenten einige häufige Auswahlmöglichkeiten, aber Sie können andere kubectl-Befehle wie scale
angeben. Verwenden Sie die arguments
Eingabe, um zusätzliche Parameter für den angegebenen kubectl
Befehl anzugeben.
command
-
Command
string
. Erforderlich. Zulässige Werte: apply
, create
, delete
, exec
, expose
, get
, login
, logout
, logs
, run
, set
, top
. Standardwert: apply
.
Wählen Sie einen kubectl-Befehl aus, der ausgeführt werden soll, oder geben Sie diesen an.
useConfigurationFile
-
Verwenden von Konfigurations-
boolean
. Wahlfrei. Wird verwendet, wenn command != login && command != logout
. Standardwert: false
.
Gibt die Kubernetes-Konfiguration an, die mit dem Befehl kubectl
verwendet werden soll. Das Inlineskript, der Dateiname, das Verzeichnis oder die URL zu Kubernetes-Konfigurationsdateien können bereitgestellt werden.
useConfigurationFile
-
Verwenden von Konfigurationsdateien
boolean
. Wahlfrei. Wird verwendet, wenn command != login && command != logout
. Standardwert: false
.
Gibt die Kubernetes-Konfiguration an, die mit dem Befehl kubectl
verwendet werden soll. Das Inlineskript, der Dateiname, das Verzeichnis oder die URL zu Kubernetes-Konfigurationsdateien können bereitgestellt werden.
configurationType
-
Konfigurationstyp
string
. Wahlfrei. Wird verwendet, wenn useConfigurationFile = true
. Zulässige Werte: configuration
(Dateipfad), inline
(Inlinekonfiguration). Standardwert: configuration
.
Gibt den Typ der Kubernetes-Konfiguration für den befehl kubectl
an. Dies kann ein Dateipfad oder ein Inlineskript sein.
configuration
-
Dateipfad
string
. Erforderlich, wenn configurationType = configuration
.
Gibt den Dateinamen, das Verzeichnis oder die URL für Kubernetes-Konfigurationsdateien an, die mit den Befehlen verwendet werden.
configuration
-
Konfigurationsdatei
string
. Erforderlich, wenn useConfigurationFile = true
.
Gibt den Dateinamen, das Verzeichnis oder die URL für Kubernetes-Konfigurationsdateien an, die mit den Befehlen verwendet werden.
inline
-
Inlinekonfiguration
string
. Erforderlich, wenn configurationType = inline
.
Gibt die Inlinebereitstellungskonfiguration für den Befehl kubectl
an.
arguments
-
Argumente
string
. Wahlfrei. Wird verwendet, wenn command != login && command != logout
.
Argumente für den angegebenen Kubectl-Befehl.
secretType
-
Geheimschlüsseltyp
string
. Erforderlich, wenn command != login && command != logout
. Zulässige Werte: dockerRegistry
, generic
. Standardwert: dockerRegistry
.
Erstellen/Aktualisieren eines generischen oder Docker-Imagepullsecret. Wählen Sie dockerRegistry aus, um das Imagepullsecret der ausgewählten Registrierung zu erstellen/zu aktualisieren. Ein imagePullSecret ist eine Möglichkeit, einen geheimen Schlüssel zu übergeben, der ein Containerregistrierungskennwort an das Kubelet enthält, damit es ein privates Image im Namen Ihres Pods abrufen kann.
secretArguments
-
Argumente
string
. Wahlfrei. Wird verwendet, wenn secretType = generic && command != login && command != logout
.
Gibt die Schlüssel und Literalwerte an, die im geheimen Schlüssel eingefügt werden sollen. Beispiel: --from-literal=key1=value1
oder --from-literal=key2="top secret"
.
containerRegistryType
-
Containerregistrierungstyp
string
. Erforderlich, wenn secretType = dockerRegistry && command != login && command != logout
. Zulässige Werte: Azure Container Registry
, Container Registry
. Standardwert: Azure Container Registry
.
Wählen Sie einen Containerregistrierungstyp aus. Die Aufgabe kann Azure-Abonnementdetails verwenden, um mit einer Azure Container-Registrierung zu arbeiten. Andere Standardmäßige Containerregistrierungen werden ebenfalls unterstützt.
dockerRegistryEndpoint
-
Docker-Registrierungsdienstverbindung
string
. Wahlfrei. Wird verwendet, wenn secretType = dockerRegistry && containerRegistryType = Container Registry && command != login && command != logout
.
Wählen Sie eine Docker-Registrierungsdienstverbindung aus. Erforderlich für Befehle, die sich bei einer Registrierung authentifizieren müssen.
azureSubscriptionEndpointForSecrets
-
Azure-Abonnement
string
. Wahlfrei. Wird verwendet, wenn secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout
.
Gibt das Azure Resource Manager-Abonnement an, das azure Container Registry enthält.
Anmerkung
Um eine neue Dienstverbindung zu konfigurieren, wählen Sie das Azure-Abonnement aus der Liste aus, und klicken Sie auf Authorize
. Wenn Ihr Abonnement nicht aufgeführt ist oder Sie einen vorhandenen Dienstprinzipal verwenden möchten, können Sie eine Azure-Dienstverbindung mit den Schaltflächen Add
oder Manage
einrichten.
azureContainerRegistry
-
Azure-Containerregistrierung
string
. Wahlfrei. Wird verwendet, wenn secretType = dockerRegistry && containerRegistryType = Azure Container Registry && command != login && command != logout
.
Gibt eine Azure-Containerregistrierung an, die zum Abrufen von Containerimages und zum Bereitstellen von Anwendungen im Kubernetes-Cluster verwendet wird. Erforderlich für Befehle, die sich bei einer Registrierung authentifizieren müssen.
secretName
-
Geheimer Name
string
. Wahlfrei. Wird verwendet, wenn command != login && command != logout
.
Der Name des geheimen Schlüssels. Sie können diesen geheimen Namen in der YaML-Konfigurationsdatei Kubernetes verwenden.
forceUpdate
-
geheimen Updateschlüssel erzwingen
boolean
. Wahlfrei. Wird verwendet, wenn command != login && command != logout
. Standardwert: true
.
Löschen Sie den geheimen Schlüssel, wenn er vorhanden ist, und erstellen Sie eine neue mit aktualisierten Werten.
configMapName
-
ConfigMap-Name
string
. Wahlfrei. Wird verwendet, wenn command != login && command != logout
.
Mit ConfigMaps können Sie Konfigurationsartefakte von Bildinhalten decoupieren, um containerisierte Anwendungen portierbar zu halten.
forceUpdateConfigMap
-
"Updatekonfiguration erzwingen"
boolean
. Wahlfrei. Wird verwendet, wenn command != login && command != logout
. Standardwert: false
.
Löschen Sie die Configmap, wenn sie vorhanden ist, und erstellen Sie eine neue mit aktualisierten Werten.
useConfigMapFile
-
Datei- verwenden
boolean
. Wahlfrei. Wird verwendet, wenn command != login && command != logout
. Standardwert: false
.
Erstellt eine ConfigMap
aus einer einzelnen Datei oder aus mehreren Dateien, indem Sie ein Verzeichnis angeben.
configMapFile
-
ConfigMap-Datei
string
. Erforderlich, wenn useConfigMapFile = true && command != login && command != logout
.
Geben Sie eine Datei oder ein Verzeichnis an, die die configMaps enthält.
configMapArguments
-
Argumente
string
. Wahlfrei. Wird verwendet, wenn useConfigMapFile = false && command != login && command != logout
.
Gibt die Schlüssel und Literalwerte an, die in configMap
eingefügt werden sollen. Beispiel: --from-literal=key1=value1
oder --from-literal=key2="top secret"
.
versionOrLocation
-
Kubectl-
string
. Zulässige Werte: version
, location
(Speicherort angeben). Standardwert: version
.
kubectl ist eine Befehlszeilenschnittstelle zum Ausführen von Befehlen für Kubernetes-Cluster.
versionOrLocation
-
Kubectl-
string
. Wahlfrei. Wird verwendet, wenn command != login && command != logout
. Zulässige Werte: version
, location
(Speicherort angeben). Standardwert: version
.
kubectl ist eine Befehlszeilenschnittstelle zum Ausführen von Befehlen für Kubernetes-Cluster.
versionSpec
-
Versionsspezifikation
string
. Wahlfrei. Wird verwendet, wenn versionOrLocation = version
. Standardwert: 1.13.2
.
Gibt die Versionsspezifikation der abzurufenden Version an. Beispiele: 1.7.0
, 1.x.0
, 4.x.0
, 6.10.0
, >=6.10.0
.
versionSpec
-
Versionsspezifikation
string
. Wahlfrei. Wird verwendet, wenn versionOrLocation = version && command != login && command != logout
. Standardwert: 1.7.0
.
-18-2 Gibt die Versionsspezifikation der abzurufenden Version an. Beispiele: 1.7.0
, 1.x.0
, 4.x.0
, 6.10.0
, >=6.10.0
.
checkLatest
-
Überprüfen der neuesten Version
boolean
. Wahlfrei. Wird verwendet, wenn versionOrLocation = version
. Standardwert: false
.
Sucht immer online nach der neuesten verfügbaren Version (stable.txt), die der Versionsspezifikation entspricht. Dies ist in der Regel "false", es sei denn, Sie haben ein bestimmtes Szenario, um immer den neuesten Stand zu erhalten. Dies führt dazu, dass es möglicherweise keine Downloadkosten verursacht, insbesondere bei dem gehosteten Buildpool.
checkLatest
-
Überprüfen der neuesten Version
boolean
. Wahlfrei. Wird verwendet, wenn versionOrLocation = version && command != login && command != logout
. Standardwert: false
.
Sucht immer online nach der neuesten verfügbaren Version (stable.txt), die der Versionsspezifikation entspricht. Dies ist in der Regel "false", es sei denn, Sie haben ein bestimmtes Szenario, um immer den neuesten Stand zu erhalten. Dies führt dazu, dass es möglicherweise keine Downloadkosten verursacht, insbesondere bei dem gehosteten Buildpool.
specifyLocation
-
Pfad zu kubectl-
string
. Erforderlich, wenn versionOrLocation = location
.
Gibt den vollständigen Pfad zur kubectl.exe
Datei an.
specifyLocation
-
Pfad zu kubectl-
string
. Erforderlich, wenn versionOrLocation = location && command != login && command != logout
.
Gibt den vollständigen Pfad zur kubectl.exe
Datei an.
workingDirectory
-
Arbeitsverzeichnis
Eingabealias: cwd
.
string
. Standardwert: $(System.DefaultWorkingDirectory)
.
Arbeitsverzeichnis für den Befehl Kubectl.
workingDirectory
-
Arbeitsverzeichnis
Eingabealias: cwd
.
string
. Wahlfrei. Wird verwendet, wenn command != login && command != logout
. Standardwert: $(System.DefaultWorkingDirectory)
.
Arbeitsverzeichnis für den Befehl Kubectl.
outputFormat
-
Ausgabeformat
string
. Zulässige Werte: json
, yaml
, none
. Standardwert: json
.
Ausgabeformat. Die Liste der zulässigen Werte bietet bei der Verwendung des Aufgaben-Assistenten einige häufige Auswahlmöglichkeiten. Sie können jedoch andere Ausgabeoptionen wie jsonpath={.items[*].spec['initContainers', 'containers'][*].image}
angeben.
outputFormat
-
Ausgabeformat
string
. Zulässige Werte: json
, yaml
. Standardwert: json
.
Ausgabeformat. Die Liste der zulässigen Werte bietet bei der Verwendung des Aufgaben-Assistenten einige häufige Auswahlmöglichkeiten. Sie können jedoch andere Ausgabeoptionen wie jsonpath={.items[*].spec['initContainers', 'containers'][*].image}
angeben.
outputFormat
-
Ausgabeformat
string
. Wahlfrei. Wird verwendet, wenn command != login && command != logout
. Zulässige Werte: json
, yaml
. Standardwert: json
.
Ausgabeformat. Die Liste der zulässigen Werte bietet bei der Verwendung des Aufgaben-Assistenten einige häufige Auswahlmöglichkeiten. Sie können jedoch andere Ausgabeoptionen wie jsonpath={.items[*].spec['initContainers', 'containers'][*].image}
angeben.
Aufgabensteuerungsoptionen
Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.
Ausgabevariablen
Mit dieser Aufgabe werden die folgenden Ausgabevariablendefiniert, die Sie in nachgeschalteten Schritten, Aufträgen und Phasen verwenden können.
KubectlOutput
Speichert die Ausgabe des Befehls kubectl
.
Bemerkungen
Neuerungen in Version 1.0.
- Es wurde eine neue Dienstverbindungstypeingabe für die einfache Auswahl von Azure AKS-Clustern hinzugefügt.
- Die Ausgabevariableneingabe wurde durch einen Abschnitt mit Ausgabevariablen ersetzt, den wir in allen Aufgaben hinzugefügt haben.
Verwenden Sie diese Aufgabe, um einen Kubernetes-Cluster bereitzustellen, zu konfigurieren oder zu aktualisieren, indem Sie kubectl-Befehle ausführen.
Dienstverbindung
Der Vorgang funktioniert mit zwei Dienstverbindungstypen: Azure Resource Manager und Kubernetes Service Connection, wie unten beschrieben.
Azure Resource Manager
Legen Sie connectionType
auf Azure Resource Manager
fest, und geben Sie eine azureSubscriptionEndpoint
an, die eine Azure Resource Manager-Dienstverbindung verwenden soll.
In diesem YAML-Beispiel wird gezeigt, wie Azure Resource Manager verwendet wird, um auf den Kubernetes-Cluster zu verweisen. Dies ist für einen der kubectl-Befehle und die für den Befehl erforderlichen werte zu verwenden.
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-Dienstverbindung
Legen Sie connectionType
auf Kubernetes Service Connection
fest, und geben Sie eine kubernetesServiceEndpoint
an, die eine Kubernetes-Dienstverbindung verwenden soll.
Dieses YAML-Beispiel zeigt, wie eine Kubernetes-Dienstverbindung verwendet wird, um auf den Kubernetes-Cluster zu verweisen. Dies ist für einen der kubectl-Befehle und die für den Befehl erforderlichen werte zu verwenden.
- task: Kubernetes@1
displayName: kubectl apply
inputs:
connectionType: Kubernetes Service Connection
kubernetesServiceEndpoint: Contoso
Überlegungen zur Kubernetes-Dienstverbindung beim Zugriff auf AKS
Sie können eine Kubernetes-Dienstverbindung mit einer der folgenden Optionen erstellen.
- KubeConfig
- Dienstkonto
- Azure-Abonnement
Wenn Sie die Option Azure-Abonnement auswählen, muss Kubernetes zur Dienstverbindungskonfiguration auf Azure DevOps zugreifen können. Es kann verschiedene Gründe geben, warum eine Dienstverbindung nicht erstellt werden kann, z. B. sie einen privaten Cluster erstellt haben oder der Cluster lokalen Kontendeaktiviert hat. In diesen Fällen kann Azure DevOps zur Dienstverbindungskonfiguration keine Verbindung mit Ihrem Cluster herstellen, und Es wird ein hängen gebliebener Laden von Namespaces Bildschirm angezeigt.
Ab Kubernetes 1.24 werden langlebige Token standardmäßig nicht mehrerstellt. Kubernetes empfiehlt, keine langlebigen Token zu verwenden. Daher haben Aufgaben, die eine Kubernetes-Dienstverbindung verwenden, die mit der Option Azure-Abonnement erstellt wurde, keinen Zugriff auf das permanente Token, das für die Authentifizierung erforderlich ist und nicht auf Ihren Kubernetes-Cluster zugreifen kann. Dies führt auch zum fixierten Laden von Namespaces Dialogfeld.
Verwenden der Azure Resource Manager-Dienstverbindung für den Zugriff auf AKS
Für AKS-Kunden bietet der Azure Resource Manager-Dienstverbindungstyp die beste Methode zum Herstellen einer Verbindung mit einem privaten Cluster oder einem Cluster mit deaktivierten lokalen Konten. Diese Methode hängt nicht von der Clusterkonnektivität zum Zeitpunkt der Erstellung einer Dienstverbindung ab. Access to AKS is deferred to pipeline runtime, which has the following advantages:
- Der Zugriff auf einen (privaten) AKS-Cluster kann von einem selbst gehosteten oder Skalensatz-Agent mit Blick auf den Cluster ausgeführt werden.
- Für jede Aufgabe, die eine Azure Resource Manager-Dienstverbindung verwendet, wird ein Token erstellt. Dadurch wird sichergestellt, dass Sie eine Verbindung mit Kubernetes mit einem kurzlebigen Token herstellen, bei dem es sich um die Kubernetes-Empfehlunghandelt.
- Auf AKS kann auch zugegriffen werden, wenn lokale Konten deaktiviert sind.
Häufig gestellte Fragen zur Dienstverbindung
Ich erhalte die folgende Fehlermeldung: Es wurde kein geheimer Schlüssel gefunden, der dem Dienstkonto zugeordnet ist. Was passiert?
Sie verwenden die Kubernetes-Dienstverbindung mit der Azure-Abonnementoption. Wir aktualisieren diese Methode, um langlebige Token zu erstellen. Dies wird voraussichtlich Mitte Mai verfügbar sein. Es wird jedoch empfohlen, mit der Verwendung des Azure-Dienstverbindungstyps zu beginnen und keine langlebigen Token gemäß Kubernetes-Leitfadenzu verwenden.
Ich verwende AKS und möchte nichts ändern, kann ich weiterhin Aufgaben mit der Kubernetes-Dienstverbindung verwenden?
Wir aktualisieren diese Methode, um langlebige Token zu erstellen. Dies wird voraussichtlich Mitte Mai verfügbar sein. Bitte beachten Sie jedoch, dass dieser Ansatz gegen Kubernetes-Anleitung.
Ich verwende die Kubernetes-Aufgaben und kubernetes-Dienstverbindung, aber keine AKS. Sollte ich besorgt sein?
Aufgaben funktionieren weiterhin wie zuvor.
Wird der Dienstverbindungstyp Kubernetes entfernt?
Unsere Kubernetes-Aufgaben arbeiten mit jedem Kubernetes-Cluster, unabhängig davon, wo sie ausgeführt werden. Die Kubernetes-Dienstverbindung ist weiterhin vorhanden.
Ich bin ein AKS-Kunde und alles läuft gut, sollte ich handeln?
Es ist nicht erforderlich, etwas zu ändern. Wenn Sie die Kubernetes-Dienstverbindung verwenden und während der Erstellung das Azure-Abonnement ausgewählt haben, sollten Sie sich den Kubernetes-Anleitungen zur Verwendung von langlebigen Tokenbewusst sein.
Ich erschaffe eine Kubernetes-Umgebung und habe keine Möglichkeit, Dienstverbindungen zu verwenden.
Falls Sie während der Erstellungszeit der Umgebung nicht auf Ihre AKS zugreifen können, können Sie eine leere Umgebung verwenden und die connectionType
Eingabe auf eine Azure Resource Manager-Dienstverbindung festlegen.
Ich habe AKS mit Azure Active Directory RBAC konfiguriert, und meine Pipeline funktioniert nicht. Werden diese Updates dies beheben?
Der Zugriff auf Kubernetes, wenn AAD RBAC aktiviert ist, ist nicht mit der Tokenerstellung verknüpft. Um eine interaktive Eingabeaufforderung zu verhindern, werden wir kubelogin in einem zukünftigen Update unterstützen.
Befehle
Die Befehlseingabe akzeptiert kubectl-Befehle.
In diesem YAML-Beispiel wird veranschaulicht, Befehl anwenden:
- 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 diesem YAML-Beispiel wird die Verwendung einer Konfigurationsdatei mit dem angewendet Befehl veranschaulicht:
- 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 diesem YAML-Beispiel wird die Verwendung des Skalierungsbefehls verwendet, um die Anzahl der Replikate in einer Bereitstellung auf 0 zu verringern.
- 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)
Geheimnisse
Kubernetes-Objekte vom Typ geheimen sollen vertrauliche Informationen wie Kennwörter, OAuth-Token und SSH-Schlüssel enthalten. Das Platzieren dieser Informationen in einem geheimen Schlüssel ist sicherer und flexibler als das Einfügen in eine Poddefinition oder in ein Docker-Image. Azure Pipelines vereinfacht das Hinzufügen von ImagePullSecrets
zu einem Dienstkonto oder das Einrichten eines allgemeinen geheimen Schlüssels, wie unten beschrieben.
ImagePullSecret
In diesem YAML-Beispiel wird die Einrichtung von ImagePullSecrets veranschaulicht:
- 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
Generische Geheime Schlüssel
In diesem YAML-Beispiel werden generische Geheimschlüssel aus Literalwerten erstellt, die für die secretArguments Eingabe angegeben sind:
- 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
Pipelinevariablen können verwendet werden, um Argumente für die Angabe von Literalwerten zu übergeben, wie hier gezeigt:
- 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
Mit ConfigMaps können Sie Konfigurationsartefakte von Bildinhalten entkoppeln, um die Portabilität für containerisierte Anwendungen aufrechtzuerhalten.
In diesem YAML-Beispiel wird eine ConfigMap erstellt, indem sie auf eine ConfigMap-Datei zeigt:
- task: Kubernetes@1
displayName: kubectl apply
inputs:
configMapName: myconfig
useConfigMapFile: true
configMapFile: src/configmap
In diesem YAML-Beispiel wird eine ConfigMap erstellt, indem die Literalwerte direkt als eingabe configMapArguments angegeben und forceUpdate- auf "true" festgelegt wird:
- 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
Sie können Pipelinevariablen verwenden, um Literalwerte beim Erstellen von ConfigMap zu übergeben, wie hier gezeigt:
- 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)
Fehlerbehebung
Mein Kubernetes-Cluster liegt hinter einer Firewall und ich verwende gehostete Agents. Wie kann ich in diesem Cluster bereitstellen?
Sie können gehosteten Agents Zugriff über Ihre Firewall gewähren, indem Sie die IP-Adressen für die gehosteten Agents zulassen. Weitere Informationen finden Sie unter Agent-IP-Bereiche
Anforderungen
Anforderung | Beschreibung |
---|---|
Pipelinetypen | YAML, Classic Build, Classic Release |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | Alle unterstützten Agentversionen. |
Vorgangskategorie | Aufstellen |