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 auf, 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 Nutzung der EKS-Funktion für ACK behandelt, darunter die IAM-Konfiguration, Muster für mehrere Konten und die Integration mit anderen EKS-Funktionen.
IAM-Konfigurationsmuster
Die ACK-Fähigkeit verwendet eine IAM-Fähigkeitsrolle zur Authentifizierung. AWS Wählen Sie das richtige IAM-Muster, das Ihren Anforderungen entspricht.
Einfach: Eine einzige Capability-Rolle
Erteilen Sie der Capability-Rolle direkt alle erforderlichen Berechtigungen für Entwicklung, Tests oder einfache Anwendungsfälle.
Wann sollte Folgendes verwendet werden:
-
Erste Schritte mit ACK
-
Bereitstellungen mit einem einzigen Konto
-
Alle Ressourcen werden von einem Team verwaltet
-
Entwicklungs- und Testumgebungen
Beispiel: Fügen Sie Ihrer Capability Role 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"] }, } } ] }
Dieses Beispiel beschränkt die S3- und RDS-Operationen auf bestimmte Regionen und erfordert, dass RDS-Ressourcen über ein ManagedBy: ACK Tag verfügen.
Produktion: IAM-Rollenselektoren
Verwenden Sie in Produktionsumgebungen IAM-Rollenselektoren, um den Zugriff mit den geringsten Rechten und die Isolierung auf Namespace-Ebene zu implementieren.
Wann sollte Folgendes verwendet werden:
-
Produktionsumgebungen
-
Cluster mit mehreren Teams
-
Ressourcenverwaltung für mehrere Konten
-
Sicherheitsanforderungen mit den geringsten Rechten
-
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 kontenübergreifendes Ressourcenmanagement
Eine ausführliche Konfiguration des IAM-Rollenauswahlsystems 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 GitOps Workflows für das Infrastrukturmanagement zu ermöglichen.
Überlegungen:
-
Speichern Sie ACK-Ressourcen zusammen mit Anwendungsmanifesten für end-to-end GitOps
-
Organisieren Sie auf der Grundlage Ihrer Teamstruktur nach Umgebung, Service oder Ressourcentyp
-
Verwenden Sie die automatische Synchronisation 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 mehrerer Cluster in Betracht
GitOps bietet Prüfpfade, Rollback-Funktionen und deklaratives Infrastrukturmanagement. Weitere Informationen zu Argo CD finden Sie unter. Arbeiten mit Argo CD
Ressourcenzusammensetzung mit Kro
Verwenden Sie die EKS-Funktion für kro (Kube Resource Orchestrator), um mehrere ACK-Ressourcen in abstrakte und benutzerdefinierte Elemente auf höherer Ebene zusammenzustellen. APIs
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 Funktionen APIs für Anwendungsteams
-
Ressourcenabhängigkeiten verwalten und Werte zwischen Ressourcen übergeben (S3-Bucket-ARN an Lambda-Funktion)
-
Standardisieren Sie die Infrastrukturkonfigurationen teamübergreifend
-
Reduzieren Sie die Komplexität, indem Sie Implementierungsdetails hinter benutzerdefinierten Ressourcen verstecken
Beispielmuster:
-
Anwendungsstapel: S3-Bucket + SQS-Warteschlange + Benachrichtigungskonfiguration
-
Datenbank-Setup: RDS-Instanz + Parametergruppe + Sicherheitsgruppe + Geheimnisse
-
Netzwerk: VPC + Subnetze + Routentabellen + Sicherheitsgruppen
kro kümmert sich um die Reihenfolge der Abhängigkeiten, die Statusweiterleitung 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 des Namespaces
Verwenden Sie Kubernetes-Namespaces, um ACK-Ressourcen logisch nach Umgebung (Produktion, Staging, Entwicklung), Team (Plattform, Daten, ML) oder Anwendung zu trennen.
Vorteile:
-
RBAC mit Namespace-Gültigkeitsbereich für die Zugriffskontrolle
-
Legen Sie mithilfe von Anmerkungen Standardregionen pro Namespace fest
-
Einfachere Ressourcenverwaltung und Bereinigung
-
Logische Trennung im Einklang mit der Organisationsstruktur
Ressourcen-Markierung
EKS wendet automatisch Tags auf AWS Ressourcen an, die von ACK verwaltet werden, einschließlich der Funktionsressource ARN. Fügen Sie zusätzliche Tags für die Kostenzuweisung, die Nachverfolgung der Eigentumsverhältnisse und für organisatorische Zwecke hinzu.
Empfohlene Schlagworte:
-
Umwelt (Produktion, Inszenierung, Entwicklung)
-
Eigentümer des Teams oder der Abteilung
-
Kostenstelle für die Fakturierung
-
Name der Anwendung oder des Dienstes
-
ManagedBy: ACK (zur Identifizierung von ACK-verwalteten Ressourcen)
Migration von anderen Tools Infrastructure-as-code
Viele Unternehmen halten es für sinnvoll, Kubernetes über ihre Workload-Orchestrierung hinaus zu standardisieren. Durch die Migration des Infrastruktur- und AWS Ressourcenmanagements zu ACK können Sie das Infrastrukturmanagement mithilfe von Kubernetes zusammen mit Ihren Anwendungs-Workloads standardisieren. APIs
Vorteile der Standardisierung auf Kubernetes für die Infrastruktur:
-
Zentrale Informationsquelle: Verwalten Sie sowohl Anwendungen als auch Infrastruktur in Kubernetes und ermöglichen Sie so eine Praxis end-to-end GitOps
-
Einheitliches Tooling: Teams nutzen die Ressourcen und Tools von Kubernetes, anstatt mehrere Tools und Frameworks zu erlernen
-
Konsistenter Abgleich: ACK gleicht AWS Ressourcen kontinuierlich ab, wie es Kubernetes für Workloads tut, und erkennt und korrigiert Abweichungen im Vergleich zu unverzichtbaren Tools
-
Systemeigene Kompositionen: Wenn Kro und ACK zusammen verwendet werden, können AWS Ressourcen direkt in Anwendungs- und Ressourcenmanifesten referenziert werden, wobei Verbindungszeichenfolgen und zwischen Ressourcen weitergegeben werden ARNs
-
Vereinfachter Betrieb: Eine Steuerungsebene für Bereitstellungen, Rollbacks und Beobachtbarkeit im gesamten System
ACK unterstützt die Übernahme vorhandener AWS Ressourcen, ohne sie neu zu erstellen, und ermöglicht so eine Migration ohne Ausfallzeiten von CloudFormation Terraform oder Ressourcen außerhalb des Clusters.
Übernehmen Sie eine bestehende Ressource:
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 Übernahme 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. Bei Ressourcen, die von anderen Teams oder Tools verwaltet werden und die Sie referenzieren, aber nicht ändern möchten, kombinieren Sie die Übernahme 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 Nutzung 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 (Standard)
Die AWS Ressource wird gelöscht, wenn Sie die Kubernetes-Ressource löschen. Dadurch wird die Konsistenz zwischen Ihrem Cluster aufrechterhalten und sichergestellt AWS, dass sich keine Ressourcen ansammeln.
Wann sollte Delete verwendet werden:
-
Entwicklungs- und Testumgebungen, in denen Bereinigung wichtig ist
-
Kurzlebige Ressourcen, die an den Anwendungslebenszyklus gebunden sind (Testdatenbanken, temporäre Buckets)
-
Ressourcen, die die Anwendung nicht überdauern sollten (SQS-Warteschlangen, Cluster) ElastiCache
-
Kostenoptimierung — automatische Bereinigung ungenutzter Ressourcen
-
Umgebungen, die mit verwaltet werden GitOps , in denen das Entfernen von Ressourcen aus Git die Infrastruktur löschen sollte
Die standardmäßige Löschrichtlinie entspricht dem deklarativen Modell von Kubernetes: Was sich im Cluster befindet, entspricht dem, was sich darin befindet. 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
-
Langfristige Speicherbereiche mit Compliance- 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ückbehaltenen Ressourcen für die Bereinigung nachzuverfolgen.
Weitere Informationen zu Löschrichtlinien finden Sie unter. ACK-Konzepte
Upstream-Dokumentation
Ausführliche Informationen zur Verwendung von ACK finden Sie unter:
-
ACK-Nutzungshandbuch
— Ressourcen erstellen und verwalten -
ACK-API-Referenz
— Vollständige API-Dokumentation für alle Dienste -
ACK-Dokumentation
— Umfassende Benutzerdokumentation
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