Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Referenz zur Amazon Elastic Kubernetes Service EKS-Bereitstellungsaktion
Sie können die EKSDeploy Aktion verwenden, um einen Amazon EKS-Dienst bereitzustellen. Für die Bereitstellung ist eine Kubernetes-Manifestdatei erforderlich, die zur Bereitstellung des Images CodePipeline verwendet wird.
Bevor Sie Ihre Pipeline erstellen, müssen Sie die Amazon EKS-Ressourcen bereits erstellt und das Image in Ihrem Image-Repository gespeichert haben. Optional können Sie VPC-Informationen für Ihren Cluster angeben.
Wichtig
Diese Aktion verwendet CodePipeline Managed CodeBuild Compute, um Befehle in einer Build-Umgebung auszuführen. Für die Ausführung der Befehlsaktion fallen separate Gebühren in an AWS CodeBuild.
Anmerkung
Die Aktion „EKSBereitstellen“ ist nur für Pipelines vom Typ V2 verfügbar.
Die EKS-Aktion unterstützt sowohl öffentliche als auch private EKS-Cluster. Private Cluster sind der von EKS empfohlene Typ; beide Typen werden jedoch unterstützt.
Die EKS-Aktion wird für kontoübergreifende Aktionen unterstützt. Um eine kontoübergreifende EKS-Aktion hinzuzufügen, fügen Sie in der Aktionserklärung Daten actionRoleArn aus Ihrem Zielkonto hinzu.
Themen
Aktionstyp
-
Kategorie:
Deploy -
Eigentümer:
AWS -
Anbieter:
EKS -
Version:
1
Konfigurationsparameter
- ClusterName
-
Erforderlich: Ja
Der Amazon EKS-Cluster in Amazon EKS.
- Optionen unter der Leitung
-
Die folgenden Optionen sind verfügbar, wenn Helm das ausgewählte Bereitstellungstool ist.
- HelmReleaseName
-
Erforderlich: Ja (nur für den Typ Helm erforderlich)
Der Release-Name für Ihre Bereitstellung.
- HelmChartLocation
-
Erforderlich: Ja (nur für den Typ Helm erforderlich)
Der Standort des Diagramms für Ihren Einsatz.
- HelmValuesFiles
-
Erforderlich: Nein (optional nur für den Typ Helm)
Um Dateien mit Helm-Werten zu überschreiben, geben Sie die kommagetrennten Helm-Wertedateien in die Position des Helm-Diagramms ein.
- Optionen unter Kubectl
-
Die folgenden Optionen sind verfügbar, wenn Kubectl das ausgewählte Bereitstellungstool ist.
- ManifestFiles
-
Erforderlich: Ja (nur für den Typ Kubectl erforderlich)
Der Name Ihrer Manifestdatei, die Textdatei, die den Container-Namen Ihres Dienstes beschreibt, sowie das Bild und das Tag. Sie verwenden diese Datei, um Ihre Bild-URI und andere Informationen zu parametrisieren. Zu diesem Zweck können Sie eine Umgebungsvariable verwenden.
Sie speichern diese Datei im Quell-Repository für Ihre Pipeline.
- Namespace
-
Erforderlich: Nein
Der Kubernetes-Namespace, der in
kubectlunseren Befehlen verwendet werden soll.helm - Subnets
-
Erforderlich: Nein
Die Subnetze für die VPC für Ihren Cluster. Diese sind Teil derselben VPC, die mit Ihrem Cluster verbunden ist. Sie können auch Subnetze angeben, die noch nicht mit Ihrem Cluster verbunden sind, und sie hier angeben.
- SecurityGroupIds
-
Erforderlich: Nein
Die Sicherheitsgruppen für die VPC für Ihren Cluster. Diese sind Teil derselben VPC, die mit Ihrem Cluster verbunden ist. Sie können auch Sicherheitsgruppen angeben, die noch nicht an Ihren Cluster angehängt sind, und sie hier angeben.
Input artifacts (Eingabeartefakte)
-
Anzahl der Artefakte:
1 -
Beschreibung: Die Aktion sucht im Quelldatei-Repository für die Pipeline nach der Kubernetes-Manifestdatei oder dem Helm-Diagramm. Wenn Sie Helm-Diagramme im TGZ-Format verwenden möchten, die in einem S3-Bucket gespeichert sind, können Sie dies tun, indem Sie S3 Bucket/Key als Quellaktion konfigurieren. Der angegebene Objektschlüssel wäre beispielsweise.
my-chart-0.1.0.tgz
Ausgabeartefakte
-
Anzahl der Artefakte:
0 -
Beschreibung: Ausgabeartefakte gelten nicht für diesen Aktionstyp.
Umgebungsvariablen
Wird verwendet, um Variablen wie Bild-Repositorys oder Bild-Tags in Manifestdateien oder Helm-Diagrammwertdateien zu ersetzen.
- Key (Schlüssel)
-
Der Schlüssel in einem Schlüssel-Wert-Umgebungsvariablenpaar, z. B.
$IMAGE_TAG - Wert
-
Der Wert für das Schlüssel-Wert-Paar, z. B.
v1.0Der Wert kann mit Ausgabevariablen aus Pipeline-Aktionen oder Pipeline-Variablen parametrisiert werden. Beispielsweise kann eine Pipeline eine ECRBuildAndPublish Aktion haben, die ein ECR-Bild mit erstellt${codepipeline.PipelineExecutionId}, und die EKS-Aktion kann dieses Bild${codepipeline.PipelineExecutionId}als Wert der Umgebungsvariablen verwenden.
Ausgabevariablen
- EKSClusterName
-
Der Amazon EKS-Cluster in Amazon EKS.
Berechtigungen für Richtlinien zur Servicerolle
Um diese Aktion auszuführen, müssen die folgenden Berechtigungen in der Servicerollenrichtlinie Ihrer Pipeline verfügbar sein.
-
EC2-Aktionen: Wenn die Aktion CodePipeline ausgeführt wird, sind EC2-Instance-Berechtigungen erforderlich. Beachten Sie, dass dies nicht mit der EC2-Instanzrolle identisch ist, die beim Erstellen Ihres EKS-Clusters erforderlich ist.
Wenn Sie eine vorhandene Servicerolle verwenden, müssen Sie die folgenden Berechtigungen für die Servicerolle hinzufügen, um diese Aktion verwenden zu können.
-
ec2: CreateNetworkInterface
-
ec2: DescribeDhcpOptions
-
ec2: DescribeNetworkInterfaces
-
ec2: DeleteNetworkInterface
-
ec2: DescribeSubnets
-
ec2: DescribeSecurityGroups
-
ec2: DescribeVpcs
-
-
EKS-Aktionen: Wenn die Aktion CodePipeline ausgeführt wird, sind EKS-Cluster-Berechtigungen erforderlich. Beachten Sie, dass dies nicht mit der IAM-EKS-Clusterrolle identisch ist, die beim Erstellen Ihres EKS-Clusters erforderlich ist.
Wenn Sie eine vorhandene Servicerolle verwenden, müssen Sie die folgende Berechtigung für die Servicerolle hinzufügen, um diese Aktion verwenden zu können.
-
fragt: DescribeCluster
-
-
Stream-Aktionen protokollieren: Wenn die Aktion CodePipeline ausgeführt CodePipeline wird, wird eine Protokollgruppe erstellt, die den Namen der Pipeline wie folgt verwendet. Auf diese Weise können Sie die Berechtigungen für die Protokollierung von Ressourcen anhand des Pipeline-Namens einschränken.
/aws/codepipeline/MyPipelineNameWenn Sie eine vorhandene Servicerolle verwenden, müssen Sie die folgenden Berechtigungen für die Servicerolle hinzufügen, um diese Aktion verwenden zu können.
-
Protokolle: CreateLogGroup
-
Protokolle: CreateLogStream
-
Protokolle: PutLogEvents
-
Beschränken Sie in der Erklärung zur Dienstrollenrichtlinie die Berechtigungen auf die Ressourcenebene, wie im folgenden Beispiel gezeigt.
Um Protokolle in der Konsole mithilfe der Dialogseite mit den Aktionsdetails anzuzeigen, muss der Konsolenrolle die Berechtigung zum Anzeigen von Protokollen hinzugefügt werden. Weitere Informationen finden Sie im Beispiel für eine Konsolenberechtigungsrichtlinie unterZum Anzeigen von Rechenprotokollen in der Konsole sind Berechtigungen erforderlich.
Hinzufügen der Servicerolle als Zugriffseintrag für Ihren Cluster
Nachdem die Berechtigungen in der Servicerollenrichtlinie Ihrer Pipeline verfügbar sind, konfigurieren Sie Ihre Cluster-Berechtigungen, indem Sie die CodePipeline Servicerolle als Zugriffseintrag für Ihren Cluster hinzufügen.
Sie können auch eine Aktionsrolle verwenden, die über die aktualisierten Berechtigungen verfügt. Weitere Informationen finden Sie im Tutorial-Beispiel unterSchritt 4: Erstellen Sie einen Zugriffseintrag für die CodePipeline Servicerolle.
Aktionsdeklaration
Weitere Informationen finden Sie auch unter
Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
-
Unter finden Sie Tutorial: Bereitstellung auf Amazon EKS mit CodePipeline ein Tutorial, das zeigt, wie Sie einen EKS-Cluster und eine Kubernetes-Manifestdatei erstellen, um die Aktion zu Ihrer Pipeline hinzuzufügen.