Visualizzazione delle risorse Kubernetes - Amazon EKS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Visualizzazione delle risorse Kubernetes

Puoi visualizzare le risorse Kubernetes implementate nel cluster utilizzando la AWS Management Console. Non puoi visualizzare Kubernetes le risorse con AWS CLI o eksctl. Per visualizzare le risorse Kubernetes con uno strumento a riga di comando, utilizza kubectl.

Prerequisito

Per visualizzare la scheda Risorse e la sezione Nodi nella scheda Compute AWS Management Console, il principale IAM che stai utilizzando deve disporre di IAM e Kubernetes autorizzazioni specifici. Per ulteriori informazioni, consulta Autorizzazioni richieste.

Per visualizzare le Kubernetes risorse con AWS Management Console
  1. Apri la console Amazon EKS all'indirizzo https://console.aws.amazon.com/eks/home#/clusters.

  2. Nell'elenco Clusters (Cluster), seleziona il cluster contenente le risorse Kubernetes da visualizzare.

  3. Selezionare la scheda Risorse.

  4. Seleziona un gruppo Resource type (Tipi di risorse) per il quale desideri visualizzare le risorse, ad esempio Workloads (Carichi di lavoro). Viene visualizzato un elenco dei tipi di risorse in tale gruppo.

  5. Seleziona un tipo di risorsa, ad esempio Deployments (Implementazioni), nel gruppo Workloads (Carichi di lavoro). Viene visualizzata una descrizione del tipo di risorsa, un collegamento alla documentazione Kubernetes per ulteriori informazioni sul tipo di risorsa e un elenco di risorse simili implementate nel cluster. Se l'elenco è vuoto, nel cluster non sono presenti risorse appartenenti a quel tipo specifico.

  6. Per visualizzare ulteriori informazioni su una risorsa, selezionarla. Prova gli esempi seguenti:

    • Seleziona il gruppo Workloads (Carichi di lavoro), scegli il tipo di risorsa Deployments (Implementazioni), quindi seleziona la risorsa coredns. Per impostazione predefinita, la selezione di una risorsa avviene in una Visualizzazione strutturata. Per alcuni tipi di risorse, nella Visualizzazione strutturata è presente una sezione Pod, con un elenco dei Pods gestiti dal carico di lavoro. Puoi selezionare qualsiasi Pod presente in elenco per visualizzarne le informazioni. Non tutti i tipi di risorse visualizzano le informazioni nella Visualizzazione strutturata. Selezionando Raw view (Visualizzazione non elaborata) nell'angolo in alto a destra della pagina della risorsa, viene visualizzata la risposta JSON completa dall'API Kubernetes per la risorsa.

    • Seleziona il gruppo Cluster, quindi il tipo di risorsa Nodes (Nodi). Viene visualizzato un elenco di tutti i nodi del cluster. I nodi possono appartenere a qualsiasi tipo di nodo di Amazon EKS. Si tratta dello stesso elenco visualizzato nella sezione Nodes (Nodi) quando si seleziona la scheda Compute (Calcolo) del cluster. Seleziona una risorsa di nodo dall'elenco. Nella Vista strutturata è presente anche la sezione Pod contenente tutti i Pods in esecuzione sul nodo.

Autorizzazioni richieste

Per visualizzare la scheda Risorse e la sezione Nodi nella scheda Compute AWS Management Console, il principale IAM che stai utilizzando deve disporre di IAM e Kubernetes autorizzazioni minimi specifici. Completa i passaggi seguenti per assegnare le autorizzazioni richieste ai principali IAM.

  1. Assicurati che eks:AccessKubernetesApi e le altre autorizzazioni IAM necessarie per visualizzare le risorse Kubernetes siano assegnati al principale IAM che stai utilizzando. Per ulteriori informazioni su come modificare le autorizzazioni per un principale IAM, consulta Controllo dell'accesso per i principali IAM nella Guida per l'utente di IAM. Per ulteriori informazioni su come modificare le autorizzazioni per un ruolo, consulta Modifica di una policy di autorizzazioni del ruolo (console) nella Guida per l'utente IAM.

    La seguente policy di esempio include le autorizzazioni necessarie affinché un principale possa visualizzare le risorse Kubernetes per tutti i cluster dell'account. Sostituisci 111122223333 con il tuo ID account 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/*" } ] }

    Per visualizzare i nodi in cluster connessi, il ruolo IAM del connettore Amazon EKS dovrebbe essere in grado di rappresentare il principale nel cluster. Ciò consente a Amazon EKS Connector di mappare il principale a un utente Kubernetes.

  2. Crea un rolebinding o clusterrolebinding Kubernetes associato a un role o clusterrole Kubernetes che abbia le autorizzazioni necessarie per visualizzare le risorse Kubernetes. Per ulteriori informazioni sui ruoli Kubernetes e sulle relative associazioni, consulta Uso dell'autorizzazione RBAC nella documentazione Kubernetes. Puoi applicare al cluster uno dei seguenti manifesti che consentono di creare un role e rolebinding o un clusterrole e clusterrolebinding con le autorizzazioni Kubernetes necessarie:

    Visualizzazione delle risorse Kubernetes in tutti gli spazi dei nomi

    Il nome del gruppo nel file è eks-console-dashboard-full-access-group. Applica il manifesto al cluster con il comando seguente:

    kubectl apply -f https://s3.us-west-2.amazonaws.com/amazon-eks/docs/eks-console-full-access.yaml
    Visualizzazione delle risorse Kubernetes in uno spazio dei nomi specifico

    Lo spazio dei nomi in questo file è default. Il nome del gruppo nel file è eks-console-dashboard-restricted-access-group. Applica il manifesto al cluster con il comando seguente:

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

    Per modificare il nome del gruppo Kubernetes, lo spazio dei nomi, le autorizzazioni o qualsiasi altra configurazione, scarica il file e modificalo prima di applicarlo al cluster:

    1. Scarica il file tramite uno dei comandi seguenti:

      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. Modifica il file in base alle esigenze.

    3. Applica il manifesto al cluster con uno dei comandi seguenti:

      kubectl apply -f eks-console-full-access.yaml
      kubectl apply -f eks-console-restricted-access.yaml
  3. Mappa il principale IAM all'utente Kubernetes o al gruppo in aws-auth ConfigMap. Per aggiornare ConfigMap puoi usare uno strumento adeguato, ad esempio eksctl, oppure puoi eseguire l'aggiornamento in modo manuale tramite modifica.

    Importante

    Ti consigliamo di utilizzare eksctl, o uno strumento simile, per modificare ConfigMap. Per informazioni su altri strumenti che è possibile utilizzare, consulta Utilizzo degli strumenti per apportare modifiche alla aws-authConfigMap nelle guide alle best practice di Amazon EKS. Una formattazione impropria di aws-auth ConfigMap può causare la perdita dell'accesso al cluster.

    eksctl
    Prerequisito

    La versione 0.172.0 o quelle successive dello strumento a riga di comando eksctl deve essere installata sul dispositivo o nella AWS CloudShell. Per l'installazione o l'aggiornamento di eksctl, consulta la sezione Installation nella documentazione di eksctl.

    1. Visualizza le mappature correnti in ConfigMap. Sostituisci my-cluster con il nome del cluster. region-codeSostituiscilo con Regione AWS quello in cui si trova il cluster.

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

      Di seguito viene riportato un output di esempio:

      ARN USERNAME GROUPS ACCOUNT arn:aws:iam::111122223333:role/eksctl-my-cluster-my-nodegroup-NodeInstanceRole-1XLS7754U3ZPA system:node:{{EC2PrivateDNSName}} system:bootstrappers,system:nodes
    2. Aggiungi una mappatura per un ruolo. Per questo esempio si presuppone che le autorizzazioni IAM siano state collegate nel primo passaggio a un ruolo denominato my-console-viewer-role. Sostituisci 111122223333 con l'ID del tuo account.

      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
      Importante

      L'ARN del ruolo non può includere un percorso, ad esempio role/my-team/developers/my-role. Il formato dell'ARN deve essere arn:aws:iam::111122223333:role/my-role. In questo esempio, my-team/developers/ deve essere rimosso.

      Di seguito viene riportato un output di esempio.

      [...]
      2022-05-09 14:51:20 [ℹ]  adding identity "arn:aws:iam::111122223333:role/my-console-viewer-role" to auth ConfigMap
    3. Aggiungi una mappatura per un utente. Le best practice IAM consigliano di concedere le autorizzazioni ai ruoli anziché agli utenti. Per questo esempio si presuppone che le autorizzazioni IAM siano state collegate a un utente denominato my-user nel primo passaggio. Sostituisci 111122223333 con l'ID del tuo account.

      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

      Di seguito viene riportato un output di esempio:

      [...]
      2022-05-09 14:53:48 [ℹ]  adding identity "arn:aws:iam::111122223333:user/my-user" to auth ConfigMap
    4. Visualizza nuovamente le mappature nella ConfigMap.

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

      Di seguito viene riportato un output di esempio:

      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

    Per ulteriori informazioni sull'aggiunta degli utenti o dei ruoli a aws-auth ConfigMap, consulta Aggiunta di principali IAM al cluster Amazon EKS.

    1. Apri aws-auth ConfigMap per la modifica.

      kubectl edit -n kube-system configmap/aws-auth
    2. Aggiungi le mappature a aws-auth ConfigMap senza sostituire quelle esistenti. L'esempio seguente mostra l'aggiunta di mappature tra principali IAM con le autorizzazioni aggiunte nel primo passaggio e i gruppi Kubernetes creati nel passaggio precedente:

      • Il ruolo my-console-viewer-role e il eks-console-dashboard-full-access-group.

      • L'utente my-user e il eks-console-dashboard-restricted-access-group.

      Per questi esempi si presuppone che le autorizzazioni IAM siano state collegate nel primo passaggio a un ruolo denominato my-console-viewer-role e a un utente denominato my-user. 111122223333Sostituiscilo con l'ID AWS del tuo account.

      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
      Importante

      L'ARN del ruolo non può includere un percorso, ad esempio role/my-team/developers/my-console-viewer-role. Il formato dell'ARN deve essere arn:aws:iam::111122223333:role/my-console-viewer-role. In questo esempio, my-team/developers/ deve essere rimosso.

    3. Salva il file ed esci dall'editor di testo.