Unterstützung für die Verbesserung dieser Seite beitragen
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.
Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten unter, der sich im rechten Bereich jeder Seite befindet.
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.
ACK-Überlegungen für EKS
In diesem Thema werden wichtige Überlegungen zur Verwendung der EKS-Funktion für ACK behandelt, darunter die IAM-Konfiguration, Muster mit mehreren Konten und die Integration mit anderen EKS-Funktionen.
IAM-Konfigurationsmuster
Die ACK-Funktion verwendet eine IAM-Capability-Rolle zur Authentifizierung. AWS Wählen Sie das richtige IAM-Muster, das Ihren Anforderungen entspricht.
Ganz einfach: Eine einzige Funktionsrolle
Erteilen Sie der Capability-Rolle alle erforderlichen Berechtigungen direkt für Entwicklungs-, Test- oder einfache Anwendungsfälle.
Wann sollte Folgendes verwendet werden:
-
Erste Schritte mit ACK
-
Single-account Bereitstellungen
-
Alle Ressourcen werden von einem Team verwaltet
-
Entwicklungs- und Testumgebungen
Beispiel: Fügen Sie Ihrer Capability-Rolle S3- und RDS-Berechtigungen mit Bedingungen für die Kennzeichnung von Ressourcen hinzu:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:*"], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": ["us-west-2", "us-east-1"] } } }, { "Effect": "Allow", "Action": ["rds:*"], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": ["us-west-2", "us-east-1"], "aws:ResourceTag/ManagedBy": "ACK" } } } ] }
Dieses Beispiel beschränkt S3- und RDS-Operationen auf bestimmte Regionen und erfordert, dass RDS-Ressourcen über ein ManagedBy: ACK Tag verfügen.
Produktion: IAM Role Selectors
Verwenden Sie in Produktionsumgebungen IAM-Role Selectors, um den Zugriff mit den geringsten Rechten und die Isolierung auf Namespace-Ebene zu implementieren.
Wann sollte Folgendes verwendet werden:
-
Produktionsumgebungen
-
Multi-team Cluster
-
Multi-account Verwaltung der Ressourcen
-
Least-privilege Sicherheitsanforderungen
-
Verschiedene Dienste benötigen unterschiedliche Berechtigungen
Vorteile:
-
Jeder Namespace erhält nur die Berechtigungen, die er benötigt
-
Teamisolierung — Team A kann die Berechtigungen von Team B nicht verwenden
-
Einfachere Prüfung und Einhaltung von Vorschriften
-
Erforderlich für die kontoübergreifende Ressourcenverwaltung
Eine ausführliche Konfiguration von IAM Role Selector finden Sie unter. ACK-Berechtigungen konfigurieren
Integration mit anderen EKS-Funktionen
GitOps mit Argo CD
Verwenden Sie die EKS-Funktion für Argo CD, um ACK-Ressourcen aus Git-Repositorys bereitzustellen und so GitOps Workflows für das Infrastrukturmanagement zu ermöglichen.
Überlegungen:
-
Speichern Sie ACK-Ressourcen zusammen mit Anwendungsmanifesten für eine durchgängige Nutzung GitOps
-
Organisieren Sie anhand Ihrer Teamstruktur nach Umgebung, Service oder Ressourcentyp
-
Verwenden Sie die automatische Synchronisierung von Argo CD für einen kontinuierlichen Abgleich
-
Aktivieren Sie das Bereinigen, um gelöschte Ressourcen automatisch zu entfernen
-
Ziehen Sie Hub-and-Spoke-Muster für das Infrastrukturmanagement mit mehreren Clustern in Betracht
GitOps bietet Audit-Trails, Rollback-Funktionen und deklaratives Infrastrukturmanagement. Weitere Informationen zu Argo CD finden Sie unter. Arbeiten mit Argo CD
Zusammensetzung der Ressourcen mit Kro
Verwenden Sie die EKS-Funktion für kro (Kube Resource Orchestrator), um mehrere ACK-Ressourcen zu übergeordneten Abstraktionen und benutzerdefinierten APIs zusammenzustellen.
Wann sollte Kro mit ACK verwendet werden:
-
Erstellen Sie wiederverwendbare Muster für gängige Infrastruktur-Stacks (Datenbank + Backup + Überwachung)
-
Erstellen Sie Self-Service-Plattformen mit vereinfachten APIs für Anwendungsteams
-
Verwalten Sie Ressourcenabhängigkeiten und übergeben Sie Werte zwischen Ressourcen (S3-Bucket-ARN an Lambda-Funktion)
-
Standardisieren Sie die Infrastrukturkonfigurationen teamübergreifend
-
Reduzieren Sie die Komplexität, indem Sie Implementierungsdetails hinter benutzerdefinierten Ressourcen verbergen
Beispielmuster:
-
Anwendungsstapel: S3-Bucket + SQS-Warteschlange + Benachrichtigungskonfiguration
-
Datenbank-Setup: RDS-Instanz + Parametergruppe + Sicherheitsgruppe + Geheimnisse
-
Netzwerk: VPC + Subnetze + Routing-Tabellen + Sicherheitsgruppen
kro kümmert sich um die Reihenfolge der Abhängigkeiten, die Statusübertragung und das Lebenszyklusmanagement für zusammengesetzte Ressourcen. Weitere Informationen zu Kro finden Sie unter. Kro-Konzepte
Organisieren Sie Ihre Ressourcen
Organisieren Sie ACK-Ressourcen mithilfe von Kubernetes-Namespaces und AWS Ressourcen-Tags für eine bessere Verwaltung, Zugriffskontrolle und Kostenverfolgung.
Organisation von Namespaces
Verwenden Sie Kubernetes-Namespaces, um ACK-Ressourcen logisch nach Umgebung (Produktion, Staging, Entwicklung), Team (Plattform, Daten, ml) oder Anwendung zu trennen.
Vorteile:
-
Namespace-scoped RBAC für die Zutrittskontrolle
-
Legen Sie mithilfe von Anmerkungen Standardregionen pro Namespace fest
-
Einfachere Ressourcenverwaltung und Bereinigung
-
Logische Trennung im Einklang mit der Organisationsstruktur
Ressourcen-Markierung
Die EKS-ACK-Funktion wendet automatisch Standard-Tags auf alle AWS Ressourcen an, die sie erstellt. Diese Tags unterscheiden sich von selbstverwalteten ACK-Tags und bieten eine verbesserte Rückverfolgbarkeit.
Von der Funktion angewendete Standard-Tags:
| Tag-Schlüssel | Description |
|---|---|
|
|
Die Version des ACK-Controllers |
|
|
Der Kubernetes-Namespace der ACK-Ressource |
|
|
Der Name der Kubernetes-Ressource |
|
|
Die Kubernetes-API-Gruppe (zum Beispiel) |
|
|
Der ARN der EKS-ACK-Fähigkeit |
Anmerkung
Self-managed ACK verwendet verschiedene Standard-Tags: services.k8s.aws/controller-version undservices.k8s.aws/namespace. Die Tags der Funktion verwenden das eks: Präfix aus Gründen der Konsistenz mit anderen EKS-Funktionen.
Zusätzliche empfohlene Tags:
Fügen Sie benutzerdefinierte Stichwörter für Kostenzuweisung, Eigentumsnachverfolgung und organisatorische Zwecke hinzu:
-
Umwelt (Produktion, Inszenierung, Entwicklung)
-
Verantwortung für das Team oder die Abteilung
-
Kostenstelle für die Rechnungszuweisung
-
Name der Anwendung oder des Dienstes
Migration von anderen Infrastructure-as-code Tools
Viele Unternehmen sehen in der Standardisierung von Kubernetes einen Mehrwert, der über ihre Workload-Orchestrierung hinausgeht. Durch die Migration der Infrastruktur- und AWS Ressourcenverwaltung zu ACK können Sie das Infrastrukturmanagement standardisieren, indem Sie neben Ihren Anwendungsworkloads auch Kubernetes-APIs verwenden.
Vorteile der Standardisierung auf Kubernetes für die Infrastruktur:
-
Eine zentrale Informationsquelle: Verwalten Sie sowohl Anwendungen als auch Infrastruktur in Kubernetes und ermöglichen Sie so eine durchgängige Praxis GitOps
-
Einheitliche Tools: Teams verwenden Kubernetes-Ressourcen und -Tools, anstatt mehrere Tools und Frameworks zu erlernen
-
Konsistenter Abgleich: ACK gleicht kontinuierlich AWS Ressourcen ab, wie es Kubernetes für Workloads tut, und erkennt und korrigiert Abweichungen im Vergleich zu unverzichtbaren Tools
-
Native Kompositionen: Wenn Kro und ACK zusammen verwendet werden, können Sie direkt in Anwendungs- und AWS Ressourcenmanifesten auf Ressourcen verweisen und Verbindungszeichenfolgen und ARNs zwischen Ressourcen weitergeben
-
Vereinfachter Betrieb: Eine Steuerungsebene für Bereitstellungen, Rollbacks und Beobachtbarkeit im gesamten System
ACK unterstützt die Übernahme vorhandener AWS Ressourcen, ohne sie neu erstellen zu müssen, und ermöglicht so eine Migration von Terraform oder Ressourcen außerhalb des CloudFormation Clusters ohne Ausfallzeiten.
Eine vorhandene Ressource übernehmen:
apiVersion: s3.services.k8s.aws/v1alpha1 kind: Bucket metadata: name: existing-bucket annotations: services.k8s.aws/adoption-policy: "adopt-or-create" spec: name: my-existing-bucket-name
Nach der Einführung wird die Ressource von ACK verwaltet und kann über Kubernetes-Manifeste aktualisiert werden. Sie können schrittweise migrieren, Ressourcen nach Bedarf übernehmen und gleichzeitig die vorhandenen IaC-Tools für andere Ressourcen beibehalten.
ACK unterstützt auch schreibgeschützte Ressourcen. Für Ressourcen, die von anderen Teams oder Tools verwaltet werden und die Sie referenzieren, aber nicht ändern möchten, kombinieren Sie die Adoption mit der retain Löschrichtlinie und gewähren Sie nur IAM-Leseberechtigungen. Auf diese Weise können Anwendungen gemeinsam genutzte Infrastrukturen (VPCs, IAM-Rollen, KMS-Schlüssel) über Kubernetes-APIs erkennen, ohne Änderungen riskieren zu müssen.
Weitere Informationen zur Einführung von Ressourcen finden Sie unter. ACK-Konzepte
Richtlinien zum Löschen
Löschrichtlinien steuern, was mit AWS Ressourcen passiert, wenn Sie die entsprechende Kubernetes-Ressource löschen. Wählen Sie die richtige Richtlinie auf der Grundlage des Ressourcenlebenszyklus und Ihrer betrieblichen Anforderungen.
Löschen (Standardeinstellung)
Die AWS Ressource wird gelöscht, wenn Sie die Kubernetes-Ressource löschen. Dadurch wird die Konsistenz zwischen Ihrem Cluster und gewährleistet AWS, dass sich keine Ressourcen ansammeln.
Wann sollte „Löschen“ verwendet werden:
-
Entwicklungs- und Testumgebungen, in denen die Bereinigung wichtig ist
-
Kurzlebige Ressourcen, die an den Lebenszyklus einer Anwendung gebunden sind (Testdatenbanken, temporäre Buckets)
-
Ressourcen, die die Anwendung nicht überdauern sollten (SQS-Warteschlangen, Cluster) ElastiCache
-
Kostenoptimierung — automatische Bereinigung ungenutzter Ressourcen
-
Umgebungen, die so verwaltet werden GitOps , dass durch das Entfernen von Ressourcen aus Git die Infrastruktur gelöscht werden sollte
Die standardmäßige Löschrichtlinie entspricht dem deklarativen Modell von Kubernetes: Was sich im Cluster befindet, entspricht dem, was darin existiert. AWS
Beibehalten
Die AWS Ressource wird beibehalten, wenn Sie die Kubernetes-Ressource löschen. Dies schützt wichtige Daten und ermöglicht es Ressourcen, ihre Kubernetes-Repräsentation zu überleben.
Wann sollte Retain verwendet werden:
-
Produktionsdatenbanken mit kritischen Daten, die Cluster-Änderungen überstehen müssen
-
Long-term Speicher-Buckets mit Konformitäts- oder Prüfanforderungen
-
Gemeinsam genutzte Ressourcen, die von mehreren Anwendungen oder Teams genutzt werden
-
Ressourcen werden auf verschiedene Verwaltungstools migriert
-
Notfallwiederherstellungsszenarien, in denen Sie die Infrastruktur erhalten möchten
-
Ressourcen mit komplexen Abhängigkeiten, die eine sorgfältige Außerbetriebnahme erfordern
apiVersion: rds.services.k8s.aws/v1alpha1 kind: DBInstance metadata: name: production-db annotations: services.k8s.aws/deletion-policy: "retain" spec: dbInstanceIdentifier: prod-db # ... configuration
Wichtig
Zurückbehaltene Ressourcen sind weiterhin mit AWS Kosten verbunden und müssen manuell gelöscht werden, AWS wenn sie nicht mehr benötigt werden. Verwenden Sie das Ressourcen-Tagging, um die zurückgehaltenen Ressourcen für die Bereinigung nachzuverfolgen.
Weitere Informationen zu Löschrichtlinien finden Sie unter. ACK-Konzepte
Upstream-Dokumentation
Detaillierte Informationen zur Verwendung von ACK finden Sie auf den folgenden Seiten der ACK-Website:
-
Informationen zum Erstellen und Verwalten von Ressourcen finden Sie im ACK-Nutzungshandbuch
. -
Eine vollständige API-Dokumentation für alle Dienste finden Sie in der ACK-API-Referenz
. -
Eine umfassende Benutzerdokumentation finden Sie in der ACK-Dokumentation
.
Nächste Schritte
-
ACK-Berechtigungen konfigurieren- Konfigurieren Sie IAM-Berechtigungen und Muster für mehrere Konten
-
ACK-Konzepte- Verstehen Sie die ACK-Konzepte und den Ressourcenlebenszyklus
-
Probleme mit ACK-Funktionen beheben- Beheben Sie ACK-Probleme
-
Arbeiten mit Argo CD- Stellen Sie ACK-Ressourcen bereit mit GitOps
-
Kro-Konzepte- Stellen Sie ACK-Ressourcen zu Abstraktionen auf höherer Ebene zusammen