Erweiterungen - Eksctl-Benutzerhandbuch

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.

Erweiterungen

In diesem Thema wird beschrieben, wie Sie Amazon EKS Add-Ons für Ihre Amazon EKS-Cluster mithilfe von eksctl verwalten. EKS Add-Ons ist eine Funktion, mit der Sie die Kubernetes-Betriebssoftware über die EKS-API aktivieren und verwalten können, wodurch der Prozess der Installation, Konfiguration und Aktualisierung von Cluster-Add-Ons vereinfacht wird.

Warnung

eksctl installiert jetzt Standard-Addons (vpc-cni, coredns, kube-proxy) als EKS-Addons statt als selbstverwaltete Addons. Das bedeutet, dass Sie anstelle von Befehlen Befehle für Cluster verwenden sollten, die mit eksctl v0.184.0 und höher erstellt wurden. eksctl update addon eksctl utils update-*

Sie können Cluster ohne standardmäßige Netzwerk-Addons erstellen, wenn Sie alternative CNI-Plugins wie Cilium und Calico verwenden möchten.

EKS-Add-ons unterstützen jetzt den Empfang von IAM-Berechtigungen über EKS Pod Identity Associations, sodass sie sich mit AWS-Services außerhalb des Clusters verbinden können

Addons erstellen

Eksctl bietet mehr Flexibilität bei der Verwaltung von Cluster-Addons:

In Ihrer Konfigurationsdatei können Sie die gewünschten Addons und (falls erforderlich) die Rolle oder Richtlinien angeben, die ihnen zugewiesen werden sollen:

apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: example-cluster region: us-west-2 iam: withOIDC: true addons: - name: vpc-cni # all below properties are optional version: 1.7.5 tags: team: eks # you can specify at most one of: attachPolicyARNs: - arn:aws:iam::account:policy/AmazonEKS_CNI_Policy # or serviceAccountRoleARN: arn:aws:iam::account:role/AmazonEKSCNIAccess # or attachPolicy: Statement: - Effect: Allow Action: - ec2:AssignPrivateIpAddresses - ec2:AttachNetworkInterface - ec2:CreateNetworkInterface - ec2:DeleteNetworkInterface - ec2:DescribeInstances - ec2:DescribeTags - ec2:DescribeNetworkInterfaces - ec2:DescribeInstanceTypes - ec2:DetachNetworkInterface - ec2:ModifyNetworkInterfaceAttribute - ec2:UnassignPrivateIpAddresses Resource: '*'

Sie können höchstens eines vonattachPolicy, attachPolicyARNs und serviceAccountRoleARN angeben.

Wenn keine dieser Optionen angegeben ist, wird das Addon mit einer Rolle erstellt, der alle empfohlenen Richtlinien zugeordnet sind.

Anmerkung

Um Richtlinien an Addons anzuhängen, muss OIDC Ihr Cluster aktiviert sein. Wenn es nicht aktiviert ist, ignorieren wir alle angehängten Richtlinien.

Sie können dann entweder diese Addons während der Clustererstellung erstellen lassen:

eksctl create cluster -f config.yaml

Oder erstellen Sie die Addons explizit nach der Clustererstellung mit der Konfigurationsdatei oder den CLI-Flags:

eksctl create addon -f config.yaml
eksctl create addon --name vpc-cni --version 1.7.5 --service-account-role-arn <role-arn>

Wenn während der Addon-Erstellung bereits eine selbstverwaltete Version des Addons auf dem Cluster existiert, können Sie wählen, wie potenzielle configMap Konflikte gelöst werden sollen, indem Sie die resolveConflicts Option in der Konfigurationsdatei festlegen, z. B.

addons: - name: vpc-cni attachPolicyARNs: - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy resolveConflicts: overwrite

Bei Addon Create unterstützt das resolveConflicts Feld drei unterschiedliche Werte:

  • none- EKS ändert den Wert nicht. Die Erstellung schlägt möglicherweise fehl.

  • overwrite- EKS überschreibt alle Konfigurationsänderungen auf die EKS-Standardwerte zurück.

  • preserve- EKS ändert den Wert nicht. Die Erstellung schlägt möglicherweise fehl. (Ähnlichnone, aber anders als preservebeim Aktualisieren von Addons).

Aktivierte Addons auflisten

Sie können sehen, welche Addons in Ihrem Cluster aktiviert sind, indem Sie Folgendes ausführen:

eksctl get addons --cluster <cluster-name>

or

eksctl get addons -f config.yaml

Die Version des Addons festlegen

Das Einstellen der Version des Addons ist optional. Wenn das version Feld leer gelassen wird, eksctl wird die Standardversion für das Addon aufgelöst. Weitere Informationen darüber, welche Version die Standardversion für bestimmte Addons ist, finden Sie in der AWS-Dokumentation zu EKS. Beachten Sie, dass die Standardversion möglicherweise nicht unbedingt die neueste verfügbare Version ist.

Die Addon-Version kann auf eingestellt werden. latest Alternativ kann die Version mit dem angegebenen EKS-Build-Tag festgelegt werden, z. B. v1.7.5-eksbuild.1 oderv1.7.5-eksbuild.2. Es kann auch auf die Release-Version des Addons gesetzt werden, z. B. v1.7.5 oder1.7.5, und das eksbuild Suffix-Tag wird für Sie erkannt und gesetzt.

Im folgenden Abschnitt erfahren Sie, wie Sie verfügbare Addons und ihre Versionen entdecken können.

Addons entdecken

Sie können herausfinden, welche Addons für die Installation in Ihrem Cluster verfügbar sind, indem Sie Folgendes ausführen:

eksctl utils describe-addon-versions --cluster <cluster-name>

Dadurch wird die Kubernetes-Version Ihres Clusters erkannt und danach gefiltert. Wenn Sie sehen möchten, welche Addons für eine bestimmte Kubernetes-Version verfügbar sind, können Sie alternativ Folgendes ausführen:

eksctl utils describe-addon-versions --kubernetes-version <version>

Sie können Addons auch entdecken, indem Sie nach ihren, filtern. type owner and/or publisher Um zum Beispiel Addons für einen bestimmten Besitzer und Typ zu sehen, kannst du Folgendes ausführen:

eksctl utils describe-addon-versions --kubernetes-version 1.22 --types "infra-management, policy-management" --owners "aws-marketplace"

Die publishers Flagstypes, owners und, sind optional und können zusammen oder einzeln angegeben werden, um die Ergebnisse zu filtern.

Entdecken Sie das Konfigurationsschema für Addons

Nachdem Sie das Addon und die Version entdeckt haben, können Sie sich die Anpassungsoptionen ansehen, indem Sie das JSON-Konfigurationsschema abrufen.

eksctl utils describe-addon-configuration --name vpc-cni --version v1.12.0-eksbuild.1

Dadurch wird ein JSON-Schema mit den verschiedenen Optionen zurückgegeben, die für dieses Addon verfügbar sind.

Mit Konfigurationswerten arbeiten

ConfigurationValueskann während der Erstellung oder Aktualisierung von Addons in der Konfigurationsdatei bereitgestellt werden. Es werden nur die Formate JSON und YAML unterstützt.

Zum Beispiel ,

addons: - name: coredns configurationValues: |- replicaCount: 2
addons: - name: coredns version: latest configurationValues: "{\"replicaCount\":3}" resolveConflicts: overwrite
Anmerkung

Denken Sie daran, dass bei der Änderung von Addon-Konfigurationswerten Konfigurationskonflikte auftreten können.

Thus, we need to specify how to deal with those by setting the `resolveConflicts` field accordingly. As in this scenario we want to modify these values, we'd set `resolveConflicts: overwrite`.

Zusätzlich ruft der Befehl get jetzt auch ConfigurationValues für das Addon ab. z.B.

eksctl get addon --cluster my-cluster --output yaml
- ConfigurationValues: '{"replicaCount":3}' IAMRole: "" Issues: null Name: coredns NewerVersion: "" Status: ACTIVE Version: v1.8.7-eksbuild.3

Addons werden aktualisiert

Du kannst deine Addons auf neuere Versionen aktualisieren und ändern, welche Richtlinien angehängt werden, indem du Folgendes ausführst:

eksctl update addon -f config.yaml
eksctl update addon --name vpc-cni --version 1.8.0 --service-account-role-arn <new-role>

Ähnlich wie bei der Erstellung von Addons haben Sie beim Aktualisieren eines Addons die volle Kontrolle über die Konfigurationsänderungen, die Sie möglicherweise zuvor auf dieses Add-on vorgenommen haben. configMap Insbesondere können Sie sie beibehalten oder überschreiben. Diese optionale Funktionalität ist über dasselbe Feld in der Konfigurationsdatei verfügbarresolveConflicts. z. B.

addons: - name: vpc-cni attachPolicyARNs: - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy resolveConflicts: preserve

Für das Addon-Update akzeptiert das resolveConflicts Feld drei unterschiedliche Werte:

  • none- EKS ändert den Wert nicht. Das Update schlägt möglicherweise fehl.

  • overwrite- EKS überschreibt alle Konfigurationsänderungen auf die EKS-Standardwerte zurück.

  • preserve- EKS behält den Wert bei. Wenn Sie diese Option wählen, empfehlen wir Ihnen, alle Feld- und Wertänderungen in einem Cluster zu testen, der nicht zur Produktion gehört, bevor Sie das Add-on auf Ihrem Produktionscluster aktualisieren.

Addons löschen

Sie können ein Addon löschen, indem Sie Folgendes ausführen:

eksctl delete addon --cluster <cluster-name> --name <addon-name>

Dadurch werden das Addon und alle damit verknüpften IAM-Rollen gelöscht.

Wenn Sie Ihren Cluster löschen, werden auch alle mit Addons verknüpften IAM-Rollen gelöscht.

Flexibilität bei der Clustererstellung für Standard-Netzwerk-Addons

Wenn ein Cluster erstellt wird, installiert EKS automatisch VPC CNI, CoreDNS und Kube-Proxy als selbstverwaltete Addons. Um dieses Verhalten zu deaktivieren, um andere CNI-Plugins wie Cilium und Calico zu verwenden, unterstützt eksctl jetzt die Erstellung eines Clusters ohne standardmäßige Netzwerk-Addons. Um einen solchen Cluster zu erstellen, stellen Sie Folgendes ein: addonsConfig.disableDefaultAddons

addonsConfig: disableDefaultAddons: true
eksctl create cluster -f cluster.yaml

Um einen Cluster nur mit CoreDNS und Kube-Proxy und nicht mit VPC CNI zu erstellen, geben Sie die Addons explizit an und setzen Sie sie wie folgt: addons addonsConfig.disableDefaultAddons

addonsConfig: disableDefaultAddons: true addons: - name: kube-proxy - name: coredns
eksctl create cluster -f cluster.yaml

Im Rahmen dieser Änderung installiert eksctl bei der Clustererstellung nun Standard-Addons als EKS-Addons statt als selbstverwaltete Addons, sofern sie nicht explizit auf true gesetzt sind. addonsConfig.disableDefaultAddons Daher können eksctl utils update-* Befehle nicht mehr zum Aktualisieren von Addons für Cluster verwendet werden, die mit eksctl v0.184.0 und höher erstellt wurden:

  • eksctl utils update-aws-node

  • eksctl utils update-coredns

  • eksctl utils update-kube-proxy

Stattdessen sollte es jetzt verwendet werden. eksctl update addon

Weitere Informationen finden Sie unter Amazon EKS bietet Flexibilität bei der Clustererstellung für Netzwerk-Add-Ons.