Auf dieser Seite wird erläutert, was ein AWS IAM-Instanzprofil ist, warum es im Zusammenhang mit GKE on AWS wichtig ist und wie Sie das Instanzprofil aktualisieren.
Was ist ein AWS IAM-Instanzprofil?
Ein Instanzprofil ist ein AWS-spezifisches Konzept. Sie besteht aus einer Reihe von Anmeldedaten, die eine Amazon EC2-Instanz für den Zugriff auf verschiedene AWS-Ressourcen verwendet. Genauer gesagt ist ein Instanzprofil eine Art Container für eine IAM-Rolle, die an eine EC2-Instanz angehängt werden kann. Ein Instanzprofil gewährt der EC2-Instanz Berechtigungen, sodass die Instanz mit verschiedenen AWS-Diensten unter den definierten Berechtigungen interagieren kann. Weitere Informationen finden Sie unter Instanzprofile verwenden.
Wie werden Instanzprofile in GKE on AWS verwendet?
Jede Steuerungsebene und jeder Knotenpool in einem GKE on AWS-Cluster ist einem eindeutigen AWS-Instanzprofil zugeordnet. Instanzprofile in GKE on AWS haben zwei Funktionen:
- Ein Instanzprofil gewährt GKE on AWS die Berechtigungen, die zum Verwalten von AWS-Ressourcen erforderlich sind. Sie erteilen dem Cluster-Autoscaler beispielsweise die erforderlichen Berechtigungen, um den Cluster zu skalieren, indem EC2-Instanzen basierend auf den Anforderungen der Arbeitslast hinzugefügt oder entfernt werden.
- Ein Instanzprofil gewährt EC2-Instanzen Zugriff auf Google Cloud -Dienste.
Beispiel: Für
kubelet
, das auf einer AWS-Maschine ausgeführt wird, sind bestimmte Berechtigungen erforderlich, um Anmeldedaten für das Herunterladen von Images fürcontainerd
bereitzustellen. Diese Anmeldedaten sind erforderlich, um auf Images in der privaten Artifact Registry von Google oder in der Container Registry zuzugreifen und sie abzurufen. Im Kontext von GKE on AWS ist das mit dem Cluster verknüpfte EC2-Instanzprofil so konfiguriert, dass es die Machine Service Agents von Google (z. B. den Node Pool Machine Service Agent oder den Control Plane Machine Service Agent) imitiert. Durch diese Identitätsübernahme können sich die EC2-Instanzen des Clusters automatisch bei der Artifact Registry oder Container Registry von Google authentifizieren.
Instanzprofil aktualisieren
Zum Aktualisieren des Instanzprofils müssen Sie ein neues Instanzprofil in AWS mit bestimmten Berechtigungen erstellen und es dann Ihrem GKE on AWS-Cluster oder -Knotenpool zuordnen.
So aktualisieren Sie das Instanzprofil für Ihren Cluster oder Knotenpool richtig:
- Erstellen Sie ein IAM-Instanzprofil für Ihre Amazon EC2-Instanzen und fügen Sie dem Instanzprofil die benötigte IAM-Rolle hinzu. Weitere Informationen finden Sie unter Instanzprofile verwenden.
Verknüpfen Sie das neue Instanzprofil mit Ihrem GKE on AWS-Cluster oder ‑Knotenpool, indem Sie den folgenden Befehl in der Google Cloud CLI ausführen:
Profil mit Cluster verknüpfen
gcloud container aws clusters update CLUSTER_NAME \ --update-instance-profile \ --instance-profile-name NEW_INSTANCE_PROFILE_NAME \ ...
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name Ihres ClustersNEW_INSTANCE_PROFILE_NAME
: der Name des neuen AWS-Instanzprofils, das Sie erstellt haben
Profil mit Knotenpool verknüpfen
gcloud container aws node-pools update NODE_POOL_NAME \ --update-instance-profile \ --instance-profile-name NEW_INSTANCE_PROFILE_NAME \ ...
Ersetzen Sie Folgendes:
NODE_POOL_NAME
: der Name des Knotenpools.NEW_INSTANCE_PROFILE_NAME
: der Name des neuen AWS-Instanzprofils, das Sie erstellt haben
In diesen Befehlen werden nur die relevanten Flags zum Aktualisieren des Instanzprofils angezeigt. Sie müssen jedoch zusätzliche Flags angeben, um den Befehl
update
auszuführen. Weitere Informationen finden Sie unter AWS-Clusterparameter aktualisieren oder Knotenpool aktualisieren.
Die falsche Aktualisierungsmethode
Es ist wichtig zu wissen, wie man ein Instanzprofil nicht aktualisieren sollte, da es sich um einen Fehler handelt, der leicht passieren kann und zu Clusterfehlern führen kann.
Ein vorhandenes Instanzprofil direkt über die AWS Management Console oder die AWS CLI zu ändern, ist nicht die richtige Methode. Solche Änderungen können die Interaktion von GKE on AWS mit AWS-Ressourcen beeinträchtigen. Bei GKE on AWS müssen Instanzprofile so bleiben, wie sie beim ersten Verknüpfen mit dem Cluster oder Knotenpool waren. Wenn Sie sie außerhalb der Verwaltungstools von GKE on AWS ändern, kann dies zu einer Diskrepanz zwischen der ID der IAM-Rolle im Instanzprofil führen. Dieser Konflikt kann zu einem Clusterfehler führen.
Der im vorherigen Abschnitt beschriebene Ansatz sorgt dafür, dass Updates vorgenommen werden, ohne die Integration von GKE on AWS in AWS zu unterbrechen.