Consultez les ressources Kubernetes dans AWS Management Console - Amazon EKS

Aidez à améliorer cette page

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Consultez les ressources Kubernetes dans AWS Management Console

Vous pouvez afficher les ressources Kubernetes déployées sur votre cluster avec la AWS Management Console. Vous ne pouvez pas afficher les ressources Kubernetes avec la AWS CLI ou eksctl. Pour afficher les ressources Kubernetes à l'aide d'un outil de ligne de commande, utilisez kubectl.

Note

Pour afficher l'onglet Ressources et la section Nœuds de l'onglet Compute du AWS Management Console, le principal IAM que vous utilisez doit disposer d'autorisations IAM et Kubernetes spécifiques. Pour de plus amples informations, veuillez consulter Autorisations requises.

  1. Ouvrez la console Amazon EKS.

  2. Dans la liste Clusters, sélectionnez le cluster qui contient les ressources Kubernetes que vous souhaitez afficher.

  3. Sélectionnez l'onglet Resources (Ressources).

  4. Sélectionnez un groupe Resource type (Type de ressource) pour lequel vous souhaitez afficher les ressources, comme Workloads (Charges de travail). Vous voyez une liste des types de ressources dans ce groupe.

  5. Sélectionnez un type de ressource, tel que Deployments (Déploiements), dans le groupe Workloads (Charges de travail). Vous voyez une description du type de ressource, un lien vers la documentation Kubernetes pour plus d'informations sur le type de ressource et une liste des ressources de ce type qui sont déployées sur votre cluster. Si la liste est vide, aucune ressource de ce type n'est déployée sur votre cluster.

  6. Sélectionnez une ressource pour afficher plus d'informations à son sujet. Essayez les exemples suivants :

    • Sélectionnez le groupe Workloads (Charges de travail), sélectionnez le type de ressource Deployments (Déploiements), puis sélectionnez la ressource coredns. Lorsque vous sélectionnez une ressource, vous êtes dans Structured view (Vue structurée), par défaut. Pour certains types de ressources, vous voyez une section Pod dans Structured view (Vue structurée). Cette section répertorie les pods gérés par la charge de travail. Vous pouvez sélectionner n'importe quel pod répertorié pour afficher les informations le concernant. Tous les types de ressources n'affichent pas d'informations dans Structured View (Vue structurée). Si vous sélectionnez Raw view (Vue brute) dans le coin supérieur droit de la page de la ressource, vous voyez la réponse JSON complète de l'API Kubernetes pour la ressource.

    • Sélectionnez le groupe Cluster, puis sélectionnez le type de ressource Nodes (Nœuds). Vous voyez une liste de tous les nœuds de votre cluster. Les nœuds peuvent être n'importe quel type de nœud Amazon EKS. Il s'agit de la même liste que celle que vous voyez dans la section Nodes (Nœuds) lorsque vous sélectionnez l'onglet Compute (Calcul) pour votre cluster. Sélectionnez une ressource de nœud dans la liste. Dans Structured view (Vue structurée), vous voyez également une section Pod. Cette section vous montre tous les pods exécutés sur le nœud.

Autorisations requises

Pour afficher l'onglet Ressources et la section Nœuds de l'onglet Compute du AWS Management Console, le principal IAM que vous utilisez doit disposer d'autorisations IAM et Kubernetes minimales spécifiques. Procédez comme suit pour accorder les autorisations requises à vos principaux IAM.

  1. Assurez-vous que les autorisations IAMeks:AccessKubernetesApi, ainsi que les autres autorisations IAM nécessaires pour consulter les ressources Kubernetes, sont attribuées au principal IAM que vous utilisez. Pour plus d'informations sur la modification des autorisations d'un principal IAM, consultez la rubrique Contrôle de l'accès des principaux du Guide de l'utilisateur IAM. Pour plus d'informations sur la modification des autorisations pour un rôle, consultez Modification d'une politique d'autorisations de rôle (console) dans le guide de l'utilisateur IAM.

    L'exemple de politique suivant inclut les autorisations nécessaires pour qu'un principal puisse consulter les ressources Kubernetes pour tous les clusters de votre compte. Remplacez 111122223333 par votre identifiant de AWS compte.

    { "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/*" } ] }

    Pour afficher les nœuds des clusters connectés, le rôle IAM du connecteur Amazon EKS doit être en mesure d'emprunter l'identité du principal dans le cluster. Cela permet au connecteur Amazon EKS de mapper le principal à un utilisateur Kubernetes.

  2. Créez une rolebinding ou une clusterrolebinding Kubernetes qui est liée à un role ou un clusterrole Kubernetes ou qui dispose des autorisations nécessaires pour afficher les ressources Kubernetes. Pour en savoir plus sur les rôles et les liaisons de rôles Kubernetes, consultez Utilisation de l'autorisation RBAC dans la documentation Kubernetes. Vous pouvez appliquer l'un des manifestes suivants à votre cluster qui crée un role et une rolebinding ou un clusterrole et une clusterrolebinding avec les autorisations Kubernetes nécessaires :

    Afficher les ressources Kubernetes dans tous les espaces de noms
    • Le nom du groupe dans le fichier est eks-console-dashboard-full-access-group. Appliquez le manifeste à votre cluster à l'aide de la commande suivante :

      kubectl apply -f https://s3.us-west-2.amazonaws.com/amazon-eks/docs/eks-console-full-access.yaml
    Afficher les ressources Kubernetes dans un espace de noms spécifique
    • L'espace de noms de ce fichier est default. Le nom du groupe dans le fichier est eks-console-dashboard-restricted-access-group. Appliquez le manifeste à votre cluster à l'aide de la commande suivante :

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

      Si vous devez modifier le nom du groupe Kubernetes, l'espace de noms, les autorisations ou toute autre configuration dans le fichier, téléchargez le fichier et modifiez-le avant de l'appliquer à votre cluster :

      1. Téléchargez le fichier avec l'une des commandes suivantes :

        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. Modifiez le fichier si nécessaire.

      3. Appliquez le manifeste à votre cluster avec l'une des commandes suivantes :

        kubectl apply -f eks-console-full-access.yaml
        kubectl apply -f eks-console-restricted-access.yaml
  3. Mappez le principal IAM à l'utilisateur ou au groupe Kubernetes dans le. aws-auth ConfigMap Vous pouvez utiliser un outil tel que eksctl pour mettre à jour le ConfigMap ou vous pouvez le mettre à jour manuellement en le modifiant.

    Important

    Nous vous recommandons d'utiliser eksctl, ou un autre outil, pour modifier le ConfigMap. Pour plus d'informations sur les autres outils que vous pouvez utiliser, consultez la section Utiliser des outils pour apporter des modifications à l'aws- authConfigMap dans les guides de bonnes pratiques Amazon EKS. Un aws-auth ConfigMap mis en forme incorrectement peut entraîner la perte de l'accès à votre cluster.

Modifier avec eksctl

  1. Vous avez besoin d'0.204.0une version ou d'une version ultérieure de l'outil de ligne de eksctl commande installée sur votre appareil ou AWS CloudShell. Pour installer ou mettre à jour eksctl, veuillez consulter Installation dans la documentation de eksctl.

  2. Affichez les mappages actuels dans le ConfigMap. Remplacez my-cluster par le nom de votre cluster. Remplacez region-code par la AWS région dans laquelle se trouve votre cluster.

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

    L'exemple qui suit illustre un résultat.

    ARN USERNAME GROUPS ACCOUNT arn:aws: iam::111122223333:role/eksctl-my-cluster-my-nodegroup-NodeInstanceRole-1XLS7754U3ZPA system:node:{{EC2PrivateDNSName}} system:bootstrappers,system:nodes
  3. Ajoutez un mappage pour un rôle. Cet exemple suppose que vous avez attaché les autorisations IAM lors de la première étape à un rôle nommé my-console-viewer-role. Remplacez 111122223333 par votre ID de compte.

    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
    Important

    L'ARN du rôle ne peut pas inclure un chemin tel querole/my-team/developers/my-role. Le format de l'ARN doit être arn:aws: iam::111122223333:role/my-role . Dans cet exemple, my-team/developers/ doit être supprimé.

    L'exemple qui suit illustre un résultat.

    [...] 2022-05-09 14:51:20 [ℹ] adding identity "arn:aws: iam::111122223333:role/my-console-viewer-role" to auth ConfigMap
  4. Ajoutez un mappage pour un utilisateur. Les bonnes pratiques IAM recommandent d'accorder des autorisations à des rôles plutôt qu'à des utilisateurs. Cet exemple suppose que vous avez attaché les autorisations IAM lors de la première étape à un utilisateur nommé my-user. Remplacez 111122223333 par votre ID de compte.

    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

    L'exemple qui suit illustre un résultat.

    [...] 2022-05-09 14:53:48 [ℹ] adding identity "arn:aws: iam::111122223333:user/my-user" to auth ConfigMap
  5. Affichez de nouveau les mappages dans le ConfigMap.

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

    L'exemple qui suit illustre un résultat.

    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

Modifier ConfigMap manuellement

Pour plus d'informations sur l'ajout d'utilisateurs ou de rôles IAM à la ConfigMap aws-auth, consultez la rubrique Ajout de principaux IAM à votre cluster Amazon EKS.

  1. Ouvrez le aws-auth ConfigMap pour le modifier.

    kubectl edit -n kube-system configmap/aws-auth
  2. Ajoutez les mappages au aws-authConfigMap, mais ne remplacez aucun des mappages existants. L'exemple suivant ajoute des mappages entre les principaux IAM avec des autorisations ajoutées à la première étape et les groupes Kubernetes créés à l'étape précédente :

    • Le rôle my-console-viewer-role et le eks-console-dashboard-full-access-group.

    • L'utilisateur my-user et le eks-console-dashboard-restricted-access-group.

      Ces exemples supposent que vous avez attaché les autorisations IAM au cours de la première étape à un rôle nommé my-console-viewer-role et à un utilisateur nommé my-user. Remplacez 111122223333 par votre identifiant de AWS compte.

      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
      Important

      L'ARN du rôle ne peut pas inclure un chemin tel querole/my-team/developers/my-console-viewer-role. Le format de l'ARN doit être arn:aws: iam::111122223333:role/my-console-viewer-role . Dans cet exemple, my-team/developers/ doit être supprimé.

  3. Enregistrez le fichier et quittez votre éditeur de texte.