Vea los recursos de Kubernetes - Amazon EKS

Vea los recursos de Kubernetes

Puede ver los recursos de Kubernetes implementados en su clúster con la AWS Management Console. No puede ver los recursos de Kubernetes con la AWS CLI o eksctl. Para ver los recursos de Kubernetes mediante una herramienta de línea de comandos, utilice kubectl.

Requisito previo

Para ver la pestaña Recursos y la sección Nodos de la pestaña Computación del AWS Management Console, la entidad principal de IAM que utilice debe tener un IAM y permisos de Kubernetes específicos. Para obtener más información, consulte Permisos necesarios.

Para ver los recursos de Kubernetes con el AWS Management Console
  1. Abra la consola de Amazon EKS en https://console.aws.amazon.com/eks/home#/clusters.

  2. En la lista Clústeres, seleccione el clúster que contiene los recursos de Kubernetes que desea ver.

  3. Seleccione la pestaña Recursos.

  4. Seleccione un grupo de Tipo de recurso del que desea ver los recursos, como Cargas de trabajo. Aparece una lista de los tipos de recursos de ese grupo.

  5. Seleccione un tipo de recurso, como Implementaciones, en el grupo Cargas de trabajo. Puede ver una descripción del tipo de recurso, un enlace a la documentación de Kubernetes para obtener más información sobre el tipo de recurso y una lista de los recursos de ese tipo que se implementan en el clúster. Si la lista está vacía, no hay recursos de ese tipo implementado en el clúster.

  6. Seleccione un recurso para ver más información acerca de una instantánea. Pruebe los siguientes ejemplos:

    • Seleccione el grupo Cargas de trabajo, seleccione el tipo de recurso de Implementaciones y seleccione el recurso coredns. Al seleccionar un recurso, se encuentra en Vista estructurada, de forma predeterminada. Para algunos tipos de recursos, verá una sección de Pods en Vista estructurada. En esta sección se muestran los Pods administrados por la carga de trabajo. Puede seleccionar cualquier Pod de la lista para ver información acerca del Pod. No todos los tipos de recursos muestran información en Vista estructurada. Si selecciona Vista sin procesar en la esquina superior derecha de la página del recurso, verá la respuesta JSON completa de la API de Kubernetes para el recurso.

    • Seleccione el grupo Clústeres y, a continuación, seleccione el tipo de recursos Nodos. Aparece una lista de todos los nodos del clúster. Los nodos pueden ser cualquier tipo de nodo de Amazon EKS. Esta es la misma lista que ve en la sección Nodos al seleccionar la pestaña Informática de su clúster. Seleccione un recurso de nodo de la lista. En Vista estructurada, también ve una sección de Pods. En esta sección le mostramos todos los Pods que se ejecutan en el nodo.

Permisos necesarios

Para ver la pestaña Recursos y la sección Nodos de la pestaña Computación del AWS Management Console, la entidad principal de IAM que utilice debe tener un IAM mínimo y permisos de Kubernetes específicos. Complete los siguientes pasos para asignar los permisos necesarios a las entidades principales de IAM.

  1. Asegúrese de que los eks:AccessKubernetesApi y otros permisos de IAM necesarios para ver los recursos de Kubernetes estén asignados a la entidad principal de IAM que esté utilizando. Para obtener más información acerca de cómo editar los permisos para una entidad principal de IAM, consulte Control del acceso para las entidades principales de IAM en la Guía del usuario de IAM. Para obtener más información acerca de cómo editar los permisos de un rol, consulte Modificación de una política de permisos de rol (consola) en la Guía del usuario de IAM.

    En la siguiente política de ejemplo se incluyen los permisos necesarios para que una entidad principal vea los recursos de Kubernetes de todos los clústeres de su cuenta. Reemplace 111122223333 por su ID de cuenta de 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/*" } ] }

    Para ver los nodos de los clústeres conectados, el rol de IAM del conector de Amazon EKS debería poder suplantar a la entidad principal en el clúster. Esto permite que Amazon EKS Connector asigne la entidad principal a un usuario de Kubernetes.

  2. Cree un rolebinding o clusterrolebinding de Kubernetes vinculado a un role o clusterrole de Kubernetes que tenga los permisos necesarios para ver los recursos de Kubernetes. Para conocer más sobre roles y vinculaciones de roles de Kubernetes, consulte la Utilización de la autorización de RBAC en la documentación de Kubernetes. Puede aplicar uno de los siguientes manifiestos al clúster que crea un role y rolebinding o un clusterrole y clusterrolebinding con los permisos de Kubernetes necesarios:

    Ver recursos de Kubernetes en todos los espacios de nombres

    El nombre del grupo en el archivo es eks-console-dashboard-full-access-group. Aplique el manifiesto al clúster con el siguiente comando:

    kubectl apply -f https://s3.us-west-2.amazonaws.com/amazon-eks/docs/eks-console-full-access.yaml
    Ver recursos de Kubernetes en un espacio de nombres específico

    El espacio de nombres de este archivo es default. El nombre del grupo en el archivo es eks-console-dashboard-restricted-access-group. Aplique el manifiesto al clúster con el siguiente comando:

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

    Si necesita cambiar el nombre del grupo de Kubernetes, el espacio de nombres, los permisos o cualquier otra configuración del archivo, descargue el archivo y edítelo antes de aplicarlo al clúster:

    1. Descargue el archivo con uno de los siguientes comandos:

      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. Edite el archivo según sea necesario.

    3. Aplique el manifiesto al clúster con uno de los siguientes comandos:

      kubectl apply -f eks-console-full-access.yaml
      kubectl apply -f eks-console-restricted-access.yaml
  3. Asigne la entidad principal de IAM al usuario de Kubernetes o al grupo en el aws-auth ConfigMap. Puede utilizar una herramienta como eksctl para actualizar el ConfigMap o puede actualizarlo manualmente editándolo.

    importante

    Recomendamos utilizar eksctl, u otra herramienta, para editar el ConfigMap. Para obtener información acerca de otras herramientas que puede utilizar, consulte Utilice herramientas para realizar cambios en el aws-authConfigMap en las guías de prácticas recomendadas de Amazon EKS. Un formato incorrecto de aws-auth ConfigMap puede provocar que pierda el acceso a su clúster.

    eksctl
    Requisito previo

    La versión 0.172.0 o posterior de la herramienta de línea de comandos eksctl instalada en su dispositivo o AWS CloudShell. Para instalar o actualizar eksctl, consulte la sección de Instalación en la documentación de eksctl.

    1. Vea las asignaciones actuales en la ConfigMap. Reemplace my-cluster por el nombre del clúster. Reemplace region-code por la Región de AWS en la que se encuentra el clúster.

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

      Un ejemplo de salida sería el siguiente.

      ARN USERNAME GROUPS ACCOUNT arn:aws:iam::111122223333:role/eksctl-my-cluster-my-nodegroup-NodeInstanceRole-1XLS7754U3ZPA system:node:{{EC2PrivateDNSName}} system:bootstrappers,system:nodes
    2. Agregue una asignación para un rol. En este ejemplo se supone que ha adjuntado los permisos de IAM en el primer paso a un rol denominado my-console-viewer-role. Reemplace 111122223333 por su ID de cuenta.

      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

      El ARN de rol no puede incluir una ruta como role/my-team/developers/my-role. El formato del ARN debe ser arn:aws:iam::111122223333:role/my-role. En este ejemplo, se necesita eliminar my-team/developers/.

      Un ejemplo de salida sería el siguiente.

      [...]
      2022-05-09 14:51:20 [ℹ]  adding identity "arn:aws:iam::111122223333:role/my-console-viewer-role" to auth ConfigMap
    3. Agregue una asignación para un usuario. Según las prácticas recomendadas de IAM, se recomienda conceder permisos a los roles en lugar de a los usuarios. En este ejemplo se supone que ha adjuntado los permisos de IAM en el primer paso a un usuario denominado my-user. Reemplace 111122223333 por su ID de cuenta.

      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

      Un ejemplo de salida sería el siguiente.

      [...]
      2022-05-09 14:53:48 [ℹ]  adding identity "arn:aws:iam::111122223333:user/my-user" to auth ConfigMap
    4. Vea las asignaciones en el ConfigMap de nuevo.

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

      Un ejemplo de salida sería el siguiente.

      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

    Para obtener más información sobre cómo agregar usuarios al ConfigMap de aws-auth, consulte Agregar las entidades principales de IAM al clúster de Amazon EKS.

    1. Abra el ConfigMap de aws-auth para editar.

      kubectl edit -n kube-system configmap/aws-auth
    2. Agregue las asignaciones a la aws-auth ConfigMap, pero no reemplace ninguna de las asignaciones existentes. En el siguiente ejemplo se agregan asignaciones entre entidades principales de IAM con permisos agregados en el primer paso y los grupos de Kubernetes creados en el paso anterior:

      • El rol my-console-viewer-role y la eks-console-dashboard-full-access-group.

      • El usuario my-user y el eks-console-dashboard-restricted-access-group.

      En estos ejemplos se supone que ha adjuntado los permisos de IAM en el primer paso a un rol denominado my-console-viewer-role y un usuario llamado my-user. Reemplace 111122223333 por su ID de cuenta de 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-user
      importante

      El ARN de rol no puede incluir una ruta como role/my-team/developers/my-console-viewer-role. El formato del ARN debe ser arn:aws:iam::111122223333:role/my-console-viewer-role. En este ejemplo, se debe eliminar my-team/developers/.

    3. Guarde el archivo y salga del editor de texto.