Anzeigen der Kubernetes-Ressourcen - Amazon EKS

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.

Anzeigen der Kubernetes-Ressourcen

Mit der AWS Management Console können Sie die Kubernetes-Ressourcen anzeigen, die in Ihrem Cluster bereitgestellt sind. Sie können Ressourcen nicht Kubernetes mit der AWS CLI oder anzeigeneksctl. Um Kubernetes-Ressourcen mit einem Befehlszeilentool anzuzeigen, verwenden Sie kubectl.

Voraussetzung

Um die Registerkarte Ressourcen und den Abschnitt Knoten auf der Registerkarte Datenverarbeitung in der anzuzeigen AWS Management Console, muss der von Ihnen verwendete IAM-Prinzipal über bestimmte IAM- und -KubernetesBerechtigungen verfügen. Weitere Informationen finden Sie unter Erforderliche Berechtigungen.

So zeigen Sie Kubernetes Ressourcen mit der an AWS Management Console
  1. Öffnen Sie die Amazon-EKS-Konsole unter https://console.aws.amazon.com/eks/home#/clusters.

  2. Wählen Sie in der Liste Cluster den Cluster aus, der die Kubernetes-Ressourcen enthält, die Sie anzeigen möchten.

  3. Wählen Sie die Registerkarte für Resources (Ressourcen).

  4. Wählen Sie eine Resource type-Gruppe (Ressourcentyp) aus, für die Sie Ressourcen anzeigen möchten, z. B. Workloads. Ihnen wird eine Liste der Ressourcentypen in dieser Gruppe angezeigt.

  5. Wählen Sie einen Ressourcentyp aus, z. B. Deployments (Bereitstellungen) in der Gruppe Workloads. Sie sehen eine Beschreibung des Ressourcentyps, einen Link zur Kubernetes-Dokumentation für weitere Informationen über den Ressourcentyp und eine Liste der Ressourcen dieses Typs, die in Ihrem Cluster bereitgestellt werden. Wenn die Liste leer ist, werden keine Ressourcen dieses Typs in Ihrem Cluster bereitgestellt.

  6. Wählen Sie eine Ressource aus, um weitere Informationen dazu anzuzeigen. Probieren Sie die folgenden Beispiele aus:

    • Wählen Sie die Gruppe Workloads aus, dann den Ressourcentyp Deployments (Bereitstellungen) gefolgt von der Ressource coredns. Wenn Sie eine Ressource auswählen, befinden Sie sich standardmäßig in der strukturierten Ansicht. Für einige Ressourcentypen wird in der strukturierten Ansicht der Abschnitt Pods angezeigt. In diesem Abschnitt sind die Pods aufgeführt, die von der Workload verwaltet werden. Sie können jedes beliebige Pod auswählen, um Informationen über das Pod anzuzeigen. Nicht für alle Ressourcentypen werden Informationen in der strukturierten Ansicht angezeigt. Wenn Sie die Ansicht Raw in der oberen rechten Ecke der Seite für die Ressource auswählen, sehen Sie die vollständige JSON-Antwort von der Kubernetes-API für die Ressource.

    • Wählen Sie die Cluster-Gruppe aus und dann den Ressourcentyp Nodes (Knoten). Eine Liste aller Knoten in Ihrem Cluster wird angezeigt. Die Knoten können von jedem Amazon-EKS-Knoten-Typ sein. Das ist die gleiche Liste, die Sie im Abschnitt Nodes (Knoten) sehen, wenn Sie die Registerkarte Compute (Datenverarbeitung) für Ihren Cluster auswählen. Wählen Sie eine Knotenressource aus der Liste aus. In der strukturierten Ansicht sehen Sie ebenfalls einen Abschnitt Pods. In diesem Abschnitt finden Sie alle Pods, die auf dem Knoten ausgeführt werden.

Erforderliche Berechtigungen

Um die Registerkarte Ressourcen und den Abschnitt Knoten auf der Registerkarte Datenverarbeitung in der anzuzeigen AWS Management Console, muss der von Ihnen verwendete IAM-Prinzipal über bestimmte Mindest-IAM- und -KubernetesBerechtigungen verfügen. Führen Sie die folgenden Schritte aus, um Ihren IAM-Prinzipalen die erforderlichen Berechtigungen zuzuweisen.

  1. Stellen Sie sicher, dass eks:AccessKubernetesApi und andere erforderliche IAM-Berechtigungen zum Anzeigen von Kubernetes-Ressourcen dem von Ihnen verwendeten IAM-Prinzipal zugewiesen sind. Weitere Informationen zum Bearbeiten von Berechtigungen für einen IAM-Prinzipal finden Sie unter Zugriff für Prinzipale steuern und im IAM-Benutzerhandbuch. Weitere Informationen zum Bearbeiten von Rollenberechtigungen finden Sie unter Modifying a role permissions policy (console) (Ändern einer Rollenberechtigungsrichtlinie (Konsole)) im IAM-Benutzerhandbuch.

    Die folgende Beispielrichtlinie enthält die erforderlichen Berechtigungen für einen Prinzipal zum Anzeigen von Kubernetes-Ressourcen für alle Cluster in Ihrem Konto. Ersetzen Sie 111122223333 durch Ihre AWS -Konto-ID.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:ListFargateProfiles", "eks:DescribeNodegroup", "eks:ListNodegroups", "eks:ListUpdates", "eks:AccessKubernetesApi", "eks:ListAddons", "eks:DescribeCluster", "eks:DescribeAddonVersions", "eks:ListClusters", "eks:ListIdentityProviderConfigs", "iam:ListRoles" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ssm:GetParameter", "Resource": "arn:aws:ssm:*:111122223333:parameter/*" } ] }

    Um Knoten in verbundenen Clustern anzuzeigen, sollte die IAM-Rolle des Amazon-EKS-Connectors in der Lage sein, den Prinzipal im Cluster anzunehmen. Dadurch kann der Amazon-EKS-Anschluss den Prinzipal einem Kubernetes-Benutzer zuordnen.

  2. Erstellen Sie ein clusterrolebinding-Kubernetes oder rolebinding, das an ein Kubernetes-role oder clusterrole gebunden ist, das über die erforderlichen Berechtigungen zum Anzeigen der Kubernetes-Ressourcen verfügt. Informationen zu Rollen und Rollenbindungen in Kubernetes finden Sie unter Using RBAC Authorization (Verwenden der RBAC-Autorisierung) in der Kubernetes-Dokumentation. Sie können eines der folgenden Manifeste auf Ihren Cluster anwenden, die eine role und eine rolebinding oder eine clusterrole und eine clusterrolebinding mit den erforderlichen Kubernetes-Berechtigungen erstellen:

    Kubernetes-Ressourcen in allen Namespaces anzeigen

    Der Gruppenname in der Datei lautet eks-console-dashboard-full-access-group. Wenden Sie das Manifest mit dem folgenden Befehl auf Ihren Cluster an:

    kubectl apply -f https://s3.us-west-2.amazonaws.com/amazon-eks/docs/eks-console-full-access.yaml
    Kubernetes-Ressourcen in einem bestimmten Namespace anzeigen

    Der Namespace in dieser Datei ist default. Der Gruppenname in der Datei lautet eks-console-dashboard-restricted-access-group. Wenden Sie das Manifest mit dem folgenden Befehl auf Ihren Cluster an:

    kubectl apply -f https://s3.us-west-2.amazonaws.com/amazon-eks/docs/eks-console-restricted-access.yaml

    Wenn Sie den Namen, den Namespace, die Berechtigungen oder eine andere Konfiguration in der Datei der Kubernetes-Gruppe ändern müssen, laden Sie die Datei herunter und bearbeiten Sie sie, bevor Sie sie auf Ihren Cluster anwenden:

    1. Laden Sie die Datei mit einem der folgenden Befehle herunter.

      curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/docs/eks-console-full-access.yaml
      curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/docs/eks-console-restricted-access.yaml
    2. Bearbeiten Sie die Datei nach Bedarf.

    3. Wenden Sie das Manifest mit einem der folgenden Befehle auf Ihren Cluster an:

      kubectl apply -f eks-console-full-access.yaml
      kubectl apply -f eks-console-restricted-access.yaml
  3. Ordnen Sie den IAM-Prinzipal dem Kubernetes-Benutzer oder der Gruppe in der aws-auth ConfigMap zu. Sie können ein Tool wie eksctl verwenden, um die ConfigMap zu aktualisieren, oder Sie können sie durch manuelle Bearbeitung aktualisieren.

    Wichtig

    Wir empfehlen die Verwendung von eksctl oder einem anderen Tool, um die ConfigMap zu bearbeiten. Weitere Informationen zu anderen Tools, die Sie verwenden können, finden Sie unter Verwenden von Tools zur Änderung von aws-authConfigMap in den Best-Practice-Leitfäden zu Amazon EKS. Ist aws-auth ConfigMap falsch formatiert, können Sie den Zugriff auf Ihren Cluster verlieren.

    eksctl
    Voraussetzung

    Version 0.172.0 oder höher des eksctl-Befehlszeilen-Tools, das auf Ihrem Computer oder in der AWS CloudShell installiert ist. Informationen zum Installieren und Aktualisieren von eksctl finden Sie in der Dokumentation zu eksctl unter Installation.

    1. Zeigen Sie die aktuellen Mappings in der ConfigMap an. Ersetzen Sie my-cluster mit dem Namen Ihres Clusters. Ersetzen Sie durch region-code die AWS-Region , in der sich Ihr Cluster befindet.

      eksctl get iamidentitymapping --cluster my-cluster --region=region-code

      Eine Beispielausgabe sieht wie folgt aus.

      ARN USERNAME GROUPS ACCOUNT arn:aws:iam::111122223333:role/eksctl-my-cluster-my-nodegroup-NodeInstanceRole-1XLS7754U3ZPA system:node:{{EC2PrivateDNSName}} system:bootstrappers,system:nodes
    2. Fügen Sie ein Mapping für eine Rolle hinzu. In diesem Beispiel wird davon ausgegangen, dass Sie die IAM-Berechtigungen im ersten Schritt einer Rolle namens my-console-viewer-role zuweisen. Ersetzen Sie 111122223333 durch Ihre Konto-ID.

      eksctl create iamidentitymapping \ --cluster my-cluster \ --region=region-code \ --arn arn:aws:iam::111122223333:role/my-console-viewer-role \ --group eks-console-dashboard-full-access-group \ --no-duplicate-arns
      Wichtig

      Der Rollen-ARN darf keinen Pfad wie role/my-team/developers/my-role enthalten. Das Format des ARN muss arn:aws:iam::111122223333:role/my-role sein. In diesem Beispiel muss my-team/developers/ entfernt werden.

      Eine Beispielausgabe sieht wie folgt aus.

      [...]
      2022-05-09 14:51:20 [ℹ]  adding identity "arn:aws:iam::111122223333:role/my-console-viewer-role" to auth ConfigMap
    3. Fügen Sie ein Mapping für einen Benutzer hinzu. Bewährte Methoden für IAM empfehlen, dass Sie Rollen statt Benutzern Berechtigungen gewähren. In diesem Beispiel wird davon ausgegangen, dass Sie die IAM-Berechtigungen im ersten Schritt einem Benutzer my-user zuweisen. Ersetzen Sie 111122223333 durch Ihre Konto-ID.

      eksctl create iamidentitymapping \ --cluster my-cluster \ --region=region-code \ --arn arn:aws:iam::111122223333:user/my-user \ --group eks-console-dashboard-restricted-access-group \ --no-duplicate-arns

      Eine Beispielausgabe sieht wie folgt aus.

      [...]
      2022-05-09 14:53:48 [ℹ]  adding identity "arn:aws:iam::111122223333:user/my-user" to auth ConfigMap
    4. Zeigen Sie wieder die Mappings in der ConfigMap an.

      eksctl get iamidentitymapping --cluster my-cluster --region=region-code

      Eine Beispielausgabe sieht wie folgt aus.

      ARN USERNAME GROUPS ACCOUNT arn:aws:iam::111122223333:role/eksctl-my-cluster-my-nodegroup-NodeInstanceRole-1XLS7754U3ZPA system:node:{{EC2PrivateDNSName}} system:bootstrappers,system:nodes arn:aws:iam::111122223333:role/my-console-viewer-role eks-console-dashboard-full-access-group arn:aws:iam::111122223333:user/my-user eks-console-dashboard-restricted-access-group
    Edit ConfigMap manually

    Weitere Informationen zum Hinzufügen von Benutzern oder Rollen zur aws-auth ConfigMap finden Sie unter Hinzufügen von IAM-Prinzipal zu Ihrem Amazon EKS-Cluster.

    1. Öffnen Sie die aws-auth ConfigMap zum Bearbeiten.

      kubectl edit -n kube-system configmap/aws-auth
    2. Fügen Sie die Mappings zur aws-auth ConfigMap hinzu, aber ersetzen Sie keine der vorhandenen Mappings. Im folgenden Beispiel werden Mappings zwischen IAM-Prinzipalen mit Berechtigungen hinzugefügt, die im ersten Schritt hinzugefügt wurden, sowie die im vorherigen Schritt erstellten Kubernetes-Gruppen:

      • Die my-console-viewer-role-Rolle und eks-console-dashboard-full-access-group.

      • Der my-user-Benutzer und eks-console-dashboard-restricted-access-group.

      In diesen Beispielen wird davon ausgegangen, dass Sie die IAM-Berechtigungen im ersten Schritt einer Rolle namens my-console-viewer-role und einem Benutzer namens my-user zuweisen. Ersetzen Sie durch 111122223333 Ihre AWS Konto-ID.

      apiVersion: v1 data: mapRoles: | - groups: - eks-console-dashboard-full-access-group rolearn: arn:aws:iam::111122223333:role/my-console-viewer-role username: my-console-viewer-role mapUsers: | - groups: - eks-console-dashboard-restricted-access-group userarn: arn:aws:iam::111122223333:user/my-user username: my-user
      Wichtig

      Der Rollen-ARN darf keinen Pfad wie role/my-team/developers/my-console-viewer-role enthalten. Das Format des ARN muss arn:aws:iam::111122223333:role/my-console-viewer-role sein. In diesem Beispiel muss my-team/developers/ entfernt werden.

    3. Speichern Sie die Datei und beenden Sie den Text-Editor.