Helfen Sie mit, diese Seite zu verbessern
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.
Möchten Sie zu diesem Benutzerhandbuch beitragen? Scrollen Sie zum Ende dieser Seite und wählen Sie Diese Seite bearbeiten am aus GitHub. Ihre Beiträge werden dazu beitragen, unser Benutzerhandbuch für alle zu verbessern.
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.
Konfiguration pods um mit AWS Dienstkonten auf Dienste zuzugreifen
Wenn ein Pod muss auf AWS Dienste zugreifen, dann müssen Sie es für die Verwendung eines konfigurieren Kubernetes Dienstkonto. Das Dienstkonto muss einer AWS Identity and Access Management Zugriffsverwaltungsrolle (IAM) zugeordnet sein, die über Berechtigungen für den Zugriff auf die AWS Dienste verfügt.
-
Einen vorhandenen -Cluster. Falls Sie noch keinen haben, können Sie ihn mithilfe einer der Anleitungen unter erstellenErste Schritte mit Amazon EKS.
-
Ein vorhandenes Kubernetes Dienstkonto und eine EKS Pod Identity-Zuordnung, die das Dienstkonto einer IAM Rolle zuordnet. Der Rolle muss eine IAM Richtlinie zugeordnet sein, die die Berechtigungen enthält, die Sie benötigen Pods AWS Dienste nutzen zu müssen. Weitere Informationen zu Rollen, ihren Vorteilen sowie zu ihrer Erstellung und Konfiguration finden Sie unter Weisen Sie eine zu IAM Rolle einem Kubernetes Dienstkonto.
-
Die neueste Version der auf Ihrem Gerät AWS CLI installierten und konfigurierten Version oder AWS CloudShell. Sie können Ihre aktuelle Version mit
aws --version | cut -d / -f2 | cut -d ' ' -f1
überprüfen. Paketmanager wieyum
,apt-get
, oder Homebrew for macOS liegen oft mehrere Versionen hinter der neuesten Version von AWS CLI. Informationen zur Installation der neuesten Version finden Sie unter Installation und Schnellkonfiguration mit aws configure im Benutzerhandbuch für die AWS Befehlszeilenschnittstelle. Die in der installierte AWS CLI Version AWS CloudShell kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zur Aktualisierung finden Sie unter Installation AWS CLI in Ihrem Home-Verzeichnis im AWS CloudShell Benutzerhandbuch. -
Das
kubectl
Befehlszeilentool ist auf Ihrem Gerät installiert oder AWS CloudShell. Die Version kann dieselbe sein oder bis zu einer Nebenversion vor oder nach der Kubernetes Version Ihres Clusters. Wenn Ihre Clusterversion beispielsweise1.29
ist, können Siekubectl
-Version1.28
,1.29
, oder1.30
damit verwenden. Informationen zum Installieren oder Aktualisieren vonkubectl
finden Sie unter Richten Sie kubectl und eksctl ein. -
Eine vorhandene
kubectl
config
-Datei, die Ihre Clusterkonfiguration enthält. Informationen zum Erstellen einerkubectl
config
-Datei finden Sie unter Connect kubectl mit einem EKS Cluster, indem Sie eine kubeconfig-Datei erstellen.-
Verwenden Sie den folgenden Befehl, um ein Bereitstellungsmanifest zu erstellen, das Sie bereitstellen können Pod um die Konfiguration mit zu bestätigen. Ersetzen Sie das
example values
durch deine eigenen Werte.cat >my-deployment.yaml <<EOF apiVersion: apps/v1 kind: Deployment metadata: name: my-app spec: selector: matchLabels: app: my-app template: metadata: labels: app: my-app spec: serviceAccountName: my-service-account containers: - name: my-app image: public.ecr.aws/nginx/nginx:X.XX EOF
-
Stellen Sie das Manifest in Ihrem Cluster bereit.
kubectl apply -f my-deployment.yaml
-
Vergewissern Sie sich, dass die erforderlichen Umgebungsvariablen für Ihr Pod.
-
Sehen Sie sich das an Pods die zusammen mit der Bereitstellung im vorherigen Schritt bereitgestellt wurden.
kubectl get pods | grep my-app
Eine Beispielausgabe sieht wie folgt aus.
my-app-6f4dfff6cb-76cv9 1/1 Running 0 3m28s
-
Bestätigen Sie, dass Pod hat einen Token-Datei-Mount für ein Dienstkonto.
kubectl describe pod my-app-6f4dfff6cb-76cv9 | grep AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE:
Eine Beispielausgabe sieht wie folgt aus.
AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE: /var/run/secrets/pods.eks.amazonaws.com/serviceaccount/eks-pod-identity-token
-
-
Bestätigen Sie, dass Ihr Pods kann mithilfe der Berechtigungen, die Sie in der Ihrer Rolle beigefügten IAM Richtlinie zugewiesen haben, mit den AWS Diensten interagieren.
Anmerkung
Wann ein Pod verwendet AWS Anmeldeinformationen aus einer IAM Rolle, die einem Dienstkonto zugeordnet ist, AWS CLI oder einer anderen Rolle SDKs in den Containern dafür Pod verwendet die Anmeldeinformationen, die von dieser Rolle bereitgestellt werden. Wenn Sie den Zugriff auf die Anmeldeinformationen, die für die IAMRolle des EKS Amazon-Knotens EKS IAM Amazon-Knotenrolle bereitgestellt werden, nicht einschränken, Pod hat immer noch Zugriff auf diese Anmeldeinformationen. Weitere Informationen finden Sie unter Beschränken Sie den Zugriff auf das Instance-Profil, das dem Worker-Knoten zugewiesen ist
. Wenn Ihre Pods kann nicht wie erwartet mit den Diensten interagieren. Führen Sie die folgenden Schritte aus, um sicherzustellen, dass alles ordnungsgemäß konfiguriert ist.
-
Bestätigen Sie, dass Ihr Pods Verwenden Sie eine AWS SDK Version, die die Übernahme einer IAM Rolle über eine EKS Pod Identity-Zuordnung unterstützt. Weitere Informationen finden Sie unter Verwenden Sie Pod Identity mit dem AWS SDK.
-
Stellen Sie sicher, dass die Bereitstellung das Servicekonto verwendet.
kubectl describe deployment my-app | grep "Service Account"
Eine Beispielausgabe sieht wie folgt aus.
Service Account: my-service-account
-
-