Aidez à améliorer cette page
Pour contribuer à ce guide de l’utilisateur, cliquez sur le lien Modifier cette page sur GitHub qui se trouve dans le volet droit de chaque page.
Affichage des ressources Kubernetes dans la 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 l’interface AWS CLI ou eksctl
Note
Pour afficher l’onglet Ressources et la section Nœuds de l’onglet Calcul dans la AWS Management Console, le principal IAM que vous utilisez doit disposer d’autorisations IAM et Kubernetes spécifiques. Pour de plus amples informations, consultez Autorisations requises.
-
Ouvrez la console Amazon EKS
. -
Dans la liste Clusters, sélectionnez le cluster qui contient les ressources Kubernetes que vous souhaitez afficher.
-
Sélectionnez l'onglet Resources (Ressources).
-
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.
-
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.
-
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 des informations à son sujet. 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 s’exécutant sur le nœud.
-
Autorisations requises
Pour afficher l’onglet Ressources et la section Nœuds de l’onglet Calcul dans la 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.
-
Veuillez vous assurer que les autorisations
eks:AccessKubernetesApiet autres autorisations IAM nécessaires pour afficher 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 afficher les ressources Kubernetes pour tous les clusters de votre compte. Remplacez
111122223333par votre ID de compte AWS.{ "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 à Amazon EKS Connector de mapper le principal à un utilisateur Kubernetes.
-
Créez une
rolebindingou uneclusterrolebindingKubernetes qui est liée à unroleou unclusterroleKubernetes 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 RBACdans la documentation Kubernetes. Vous pouvez appliquer l'un des manifestes suivants à votre cluster qui crée un roleet unerolebindingou unclusterroleet uneclusterrolebindingavec 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 esteks-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.yamlSi 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 :
-
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.yamlcurl -O https://s3.us-west-2.amazonaws.com/amazon-eks/docs/eks-console-restricted-access.yaml -
Modifiez le fichier si nécessaire.
-
Appliquez le manifeste à votre cluster avec l'une des commandes suivantes :
kubectl apply -f eks-console-full-access.yamlkubectl apply -f eks-console-restricted-access.yaml
-
-
-
Mappez le principal IAM à l’utilisateur ou au groupe Kubernetes dans le
aws-authConfigMap. Vous pouvez utiliser un outil tel queeksctlpour mettre à jour leConfigMapou vous pouvez le mettre à jour manuellement en le modifiant.Important
Nous vous recommandons d'utiliser
eksctl, ou un autre outil, pour modifier leConfigMap. Pour plus d’informations sur les autres outils que vous pouvez utiliser, consultez Utilisation d’outils pour apporter des modifications ConfigMap aws-authdans les guides des bonnes pratiques Amazon EKS. Un aws-authConfigMapmis en forme incorrectement peut entraîner la perte de l'accès à votre cluster.
Modifier avec eksctl
-
Vous devez installer la version
0.214.0ou ultérieure de l’outil de ligne de commandeeksctlsur votre appareil ou dans AWS CloudShell. Pour installer ou mettre à joureksctl, veuillez consulter Installationdans la documentation de eksctl. -
Affichez les mappages actuels dans le
ConfigMap. Remplacezmy-clusterpar le nom de votre cluster. Remplacezregion-codepar la région AWS dans laquelle votre cluster se situe.eksctl get iamidentitymapping --cluster my-cluster --region=region-codeL'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 -
Ajoutez un mappage pour un rôle. Cet exemple suppose que vous avez attaché les autorisations IAM dans la première étape à un rôle nommé
my-console-viewer-role. Remplacez111122223333par 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-arnsImportant
L’ARN de rôle ne peut pas inclure de chemin d’accès tel que
role/my-team/developers/my-role. Le format de l'ARN doit êtrearn:aws:iam::. Dans cet exemple,111122223333:role/my-rolemy-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 -
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 dans la première étape à un utilisateur nommé
my-user. Remplacez111122223333par 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-arnsL'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 -
Affichez de nouveau les mappages dans le
ConfigMap.eksctl get iamidentitymapping --cluster my-cluster --region=region-codeL'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 manuellement ConfigMap
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.
-
Ouvrez le
aws-authConfigMappour le modifier.kubectl edit -n kube-system configmap/aws-auth -
Ajoutez les mappages à la
aws-authConfigMap, mais ne remplacez aucun des mappages existants. L’exemple suivant ajoute des mappages entre les principaux IAM avec les autorisations ajoutées à la première étape et les groupes Kubernetes créés à l’étape précédente :-
Le rôle
my-console-viewer-roleeteks-console-dashboard-full-access-group. -
L'utilisateur
my-usereteks-console-dashboard-restricted-access-group.Ces exemples supposent que vous avez attaché les autorisations IAM dans la première étape à un rôle nommé
my-console-viewer-roleet à un utilisateur nommémy-user. Remplacez111122223333par votre ID de compte AWS.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-userImportant
L’ARN de rôle ne peut pas inclure de chemin d’accès tel que
role/my-team/developers/my-console-viewer-role. Le format de l'ARN doit êtrearn:aws:iam::. Dans cet exemple,111122223333:role/my-console-viewer-rolemy-team/developers/doit être supprimé.
-
-
Enregistrez le fichier et quittez votre éditeur de texte.