Unterstützung für die Verbesserung dieser Seite beitragen
Um zu diesem Benutzerhandbuch beizutragen, klicken Sie auf den Link Diese Seite auf GitHub bearbeiten, der sich im rechten Bereich jeder Seite befindet.
Felder für die Anpassung von Amazon-EKS-Add-On festlegen
Amazon-EKS-Add-ons werden in Ihrem Cluster unter Verwendung von bewährten Standardkonfigurationen installiert. Weitere Informationen zum Hinzufügen eines Amazon-EKS-Add-ons zu Ihrem Cluster finden Sie unter Amazon-EKS-Add-ons.
Möglicherweise möchten Sie die Konfiguration eines Amazon-EKS-Add-ons anpassen, um erweiterte Funktionen zu aktivieren. Amazon EKS verwendet das serverseitige Feature Kubernetes, um die Verwaltung eines Add-Ons durch Amazon EKS zu ermöglichen, ohne Ihre Einstellungen zu überschreiben, die nicht von Amazon EKS verwaltet werden. Weitere Informationen dazu finden Sie unter Serverseitiges Anwendenkube-controller-manager.
Wichtig
Das Ändern eines von Amazon EKS verwalteten Felds verhindert, dass Amazon EKS das Add-on verwaltet und kann dazu führen, dass Ihre Änderungen überschrieben werden, wenn ein Add-on aktualisiert wird.
Syntax für Feldmanagement
Wenn Sie Details für ein Kubernetes-Objekt anzeigen, werden sowohl verwaltete als auch nicht verwaltete Felder in der Ausgabe zurückgegeben. Verwaltete Felder können einer der folgenden Typen sein:
-
Vollständig verwaltet – Alle Schlüssel für das Feld werden von Amazon EKS verwaltet. Änderungen an einem beliebigen Wert verursachen einen Konflikt.
-
Teilweise verwaltet – Einige Schlüssel für das Feld werden von Amazon EKS verwaltet. Nur Änderungen an den Schlüsseln, die explizit von Amazon EKS verwaltet werden, verursachen einen Konflikt.
Beide Arten von Feldern sind gekennzeichnet mit manager: eks.
Jeder Schlüssel ist entweder ein ., welches das Feld darstellt, das immer einem leeren Satz zugeordnet wird, oder eine Zeichenfolge, die ein Unterfeld oder Element darstellt. Die Ausgabe für die Feldverwaltung besteht aus folgenden Angabetypen:
-
f:, wobeinamenameder Name eines Feldes in einer Liste ist. -
k:, wobeikeyskeyseine Karte der Felder eines Listenelements ist. -
v:, wobeivaluevalueder exakte JSON-formatierte Wert eines Listenelements ist. -
i:, wobeiindexindexdie Position eines Elements in der Liste ist.
Die folgenden Ausgabeteile für das CoreDNS Add-on veranschaulichen die vorherigen Angaben:
-
Vollständig verwaltete Felder – Wenn ein verwaltetes Feld ein
f:(Feld) festgelegt hat, aber keinenk:(Schlüssel), dann wird das gesamte Feld verwaltet. Änderungen an Werten in diesem Feld verursachen einen Konflikt.In der folgenden Ausgabe sehen Sie, dass der Container mit dem Namen
corednsverwaltet voneks. Dieargs,imageundimagePullPolicyUnterfelder werden auch verwaltet voneks. Änderungen an Werten in diesen Feldern verursachen einen Konflikt.[...] f:containers: k:{"name":"coredns"}: .: {} f:args: {} f:image: {} f:imagePullPolicy: {} [...] manager: eks [...]
-
Teilweise verwaltete Felder – Wenn für einen verwalteten Schlüssel ein Wert angegeben ist, werden die angegebenen Schlüssel für dieses Feld verwaltet. Das Ändern der angegebenen Schlüssel führt zu einem Konflikt.
In der folgenden Ausgabe sehen Sie, dass
eksdieconfig-volumeundtmpVolumes verwaltet, welche mit demname-Schlüssel eingestellt wurden.[...] f:volumes: k:{"name":"config-volume"}: .: {} f:configMap: f:items: {} f:name: {} f:name: {} k:{"name":"tmp"}: .: {} f:name: {} [...] manager: eks [...]
-
Hinzufügen von Schlüsseln zu teilweise verwalteten Feldern – Wenn nur ein bestimmter Schlüsselwert verwaltet wird, können Sie sicher zusätzliche Schlüssel wie Argumente zu einem Feld hinzufügen, ohne einen Konflikt zu verursachen. Wenn Sie zusätzliche Schlüssel hinzufügen, stellen Sie sicher, dass das Feld nicht zuerst verwaltet wird. Das Hinzufügen oder Ändern eines verwalteten Werts verursacht einen Konflikt.
In der folgenden Ausgabe sehen Sie, dass sowohl der Schlüssel
nameals auch das Feldnameverwaltet werden. Das Hinzufügen oder Ändern eines Containernamens verursacht einen Konflikt mit diesem verwalteten Schlüssel.[...] f:containers: k:{"name":"coredns"}: [...] f:name: {} [...] manager: eks [...]
Verfahren
Sie können kubectl verwenden, um zu sehen, welche Felder von Amazon EKS für ein Amazon EKS Add-on verwaltet werden.
Sie können alle Felder problemlos ändern, die nicht von Amazon EKS oder einem anderen Prozess der Kubernetes-Steuerebene verwaltet werden, z. B. kube-controller-manager.
-
Bestimmen Sie das Add-on, das Sie überprüfen möchten. Informationen zu allen
deploymentsund DaemonSets die in Ihrem Cluster bereitgestellt werden, finden Sie unter Kubernetes-Ressourcen in AWS-Managementkonsole anzeigen. -
Führen Sie den folgenden Befehl aus, um die verwalteten Felder für ein Add-on anzuzeigen:
kubectl get type/add-on-name -n add-on-namespace -o yamlSie können beispielsweise die verwalteten Felder für das CoreDNS Add-on mit dem folgenden Befehl sehen.
kubectl get deployment/coredns -n kube-system -o yamlDie Feldverwaltung wird im folgenden Abschnitt in der zurückgegebenen Ausgabe aufgeführt.
[...] managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: [...]Anmerkung
Wenn
managedFieldsin der Ausgabe nicht angezeigt wird, fügen Sie dem Befehl--show-managed-fieldshinzu, und führen Sie ihn erneut aus. Die Version vonkubectl, die Sie verwenden, bestimmt, ob verwaltete Felder standardmäßig zurückgegeben werden.
Nächste Schritte
Passen Sie die Felder, die nicht zu AWS gehören, für Ihr Add-On an.