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.
Verwenden Sie AWS Secrets and Configuration Provider CSI mit IAM-Rollen für Dienstkonten (IRSA)
Themen
Voraussetzungen
-
Amazon EKS-Cluster (Version 1.17 oder höher)
-
Zugriff auf AWS CLI einen Amazon EKS-Cluster über
kubectl
Einrichten der Zugriffssteuerung
Das ASCP ruft die Amazon EKS-Pod-Identität ab und tauscht sie gegen eine IAM-Rolle aus. Sie legen Berechtigungen in einer IAM-Richtlinie für diese IAM-Rolle fest. Wenn der ASCP die IAM-Rolle übernimmt, erhält er Zugriff auf die von Ihnen autorisierten Parameter. Andere Container können nur auf die Parameter zugreifen, wenn Sie diese auch der IAM-Rolle zuordnen.
So gewähren Sie Ihrem Amazon EKS Pod Zugriff auf Parameter in Parameter Store
-
Erstellen Sie eine Berechtigungsrichtlinie, die den Parametern, auf die der Pod zugreifen muss, Berechtigungen
ssm:DescribeParameters
erteilt.ssm:GetParameters
-
Erstellen Sie einen IAM OpenID Connect (OIDC)-Anbieter für den Cluster, wenn Sie noch keinen haben. Weitere Informationen finden Sie unter Erstellen eines IAM-OIDC-Anbieters für Ihren Cluster im Amazon EKS-Benutzerhandbuch.
-
Erstellen Sie eine IAM-Rolle für ein Servicekonto und fügen Sie die Richtlinie hinzu. Weitere Informationen finden Sie unter Erstellen einer IAM-Rolle für ein Servicekonto im Amazon EKS-Benutzerhandbuch.
-
Wenn Sie einen privaten Amazon EKS-Cluster verwenden, stellen Sie sicher, dass die VPC, in der sich der Cluster befindet, über einen AWS STS Endpunkt verfügt. Informationen zum Erstellen eines Endpunkts finden Sie unter Interface VPC Endpoints im AWS Identity and Access Management Benutzerhandbuch.
Identifizieren Sie, welche Parameter bereitgestellt werden sollen
Um zu bestimmen, welche Parameter das ASCP in Amazon EKS als Dateien im Dateisystem einhängt, erstellen Sie eine SecretProviderClass YAML-Datei. Die SecretProviderClass
listet die Parameter auf, die gemountet werden sollen, und den Dateinamen, unter dem sie gemountet werden sollen. Der SecretProviderClass
muss sich im selben Namespace befinden wie der Amazon EKS-Pod, auf den er verweist.
Hängen Sie die Parameter als Dateien ein
Die folgenden Anweisungen zeigen, wie Parameter mithilfe der YAML-Beispieldateien .yaml und ExampleSecretProviderClass.yaml
So hängen Sie Parameter in Amazon EKS ein
-
Wenden Sie das
SecretProviderClass
auf den Pod an:kubectl apply -f ExampleSecretProviderClass.yaml
-
Stellen Sie Ihren Pod bereit:
kubectl apply -f ExampleDeployment.yaml
-
Das ASCP mountet die Dateien.
Fehlerbehebung
Sie können sich die meisten Fehler ansehen, indem Sie die Pod-Bereitstellung beschreiben.
Fehlermeldungen für Ihren Container anzeigen
-
Rufen Sie mit dem folgenden Befehl eine Liste der Pod-Namen ab. Wenn Sie nicht den Standard-Namespace verwenden, verwenden Sie
-n
.name-space
kubectl get pods
-
Um den Pod zu beschreiben,
pod-id
verwenden Sie im folgenden Befehl die Pod-ID der Pods, die Sie im vorherigen Schritt gefunden haben. Wenn Sie nicht den Standard-Namespace verwenden, verwenden Sie-n
.nameSpace
kubectl describe pod/
pod-id
Fehler für den ASCP anzeigen
-
Um weitere Informationen in den Anbieterprotokollen zu finden,
pod-id
verwenden Sie im folgenden Befehl die ID des Pods csi-secrets-store-provider-aws.kubectl -n kube-system get pods kubectl -n kube-system logs Pod/
pod-id
-
Stellen Sie sicher, dass die
SecretProviderClass
CRD installiert ist:kubectl get crd secretproviderclasses.secrets-store.csi.x-k8s.io
Dieser Befehl sollte Informationen über die
SecretProviderClass
benutzerdefinierte Ressourcendefinition zurückgeben.
-
Stellen Sie sicher, dass das SecretProviderClass Objekt erstellt wurde.
kubectl get secretproviderclass
SecretProviderClassName
-o yaml