查看节点 - Amazon EKS

查看节点

Amazon EKS 控制台显示有关集群所有节点的信息,包括 Amazon EKS 托管节点、自行管理的节点和 Fargate。节点表示从 Kubernetes API 的角度为您的集群预置的计算资源。有关更多信息,请参阅 Kubernetes 文档中的节点。要了解有关可为工作负载部署的不同类型 Amazon EKS 节点的更多信息,请参见 Amazon EKS 节点

Prerequisites

您登录 AWS Management Console 所用的 IAM 用户或 IAM 角色必须满足以下要求。

  • 拥有 eks:AccessKubernetesApi 和其他必要的 IAM 权限来查看连接到它的节点。有关 IAM 策略示例,请参阅 在 AWS Management Console 中查看所有集群的节点和工作负载

  • 映射到 aws-auth configmap 中的 Kubernetes 用户或组。有关更多信息,请参阅 管理集群的用户或 IAM 角色

  • IAM 用户或角色在 configmap 中映射到的 Kubernetes 用户或组必须绑定到 Kubernetes roleclusterrole,‬且该角色拥有查看您要查看的命名空间中的资源的权限。有关更多信息,请参阅 Kubernetes 文档中的使用 RBAC 授权。您可以下载以下示例清单,这些清单创建 clusterroleclusterrolebindingrolerolebinding

    • 查看所有命名空间中的 Kubernetes 资源– 文件中的组名为 eks-console-dashboard-full-access-group,您的 IAM 用户或角色需要在 aws-auth configmap 中映射到此组。如果需要,您可以在将组应用到集群之前更改该组的名称,然后在 configmap 中将您的 IAM 用户或角色映射到该组。要下载该文件,请选择集群所在区域的相应链接。

    • 查看特定命名空间中的 Kubernetes 资源 – 此文件中的命名空间是 default,因此,如果要指定不同的命名空间,请编辑该文件,然后将其应用到集群。文件中的组名称为 eks-console-dashboard-restricted-access-group,您的 IAM 用户或角色需要在 aws-auth configmap 中映射到此组。如果需要,您可以在将组应用到集群之前更改该组的名称,然后在 configmap 中将您的 IAM 用户或角色映射到该组。要下载该文件,请选择集群所在区域的相应链接。

使用 AWS Management Console 查看节点

  1. 从以下位置打开 Amazon EKS 控制台:https://console.aws.amazon.com/eks/home#/clusters

  2. 在左侧导航面板中,选择 Clusters(集群),然后在 Clusters(集群)列表中选择要查看其计算资源的集群。

  3. Overview(概览)选项卡上,您可以看到您的集群的所有计算 Nodes(节点),以及节点的状态。

    重要

    如果您在概览选项卡上看不到任何节点,或者看到错误消息您的当前用户或角色无权访问此 EKS 集群上的 Kubernetes 对象,请参阅本主题的先决条件。如果您不解决此问题,您仍然可以在配置选项卡上查看和管理您的 Amazon EKS 集群,但您在节点下面不会看到自行管理的节点,或是为托管节点或 Fargate 显示的某些信息。

    注意

    在 Fargate 上运行的每个 Pod 都注册为集群中的独立 Kubernetes 节点。这是因为 Fargate 在隔离的计算环境中运行每个 Pod,并独立连接到集群控制层面。有关更多信息,请参阅 AWS Fargate

  4. 节点列表中,您将看到集群的所有托管节点、自行管理的节点和 Fargate 节点的列表。选择其中一个节点的链接将会显示有关该节点的以下信息:

    • 托管节点和自行管理的节点的 Amazon EC2 实例类型内核版本Kubelet 版本容器运行时操作系统操作系统镜像

    • 指向该节点的 Amazon EC2 控制台和 Amazon EKS 托管节点组(如果适用)的深度链接。

    • 资源分配,其中显示节点的基准容量和可分配容量。

    • 条件描述节点的当前运行状态。这是对节点上的问题进行故障排除的有用信息。

      在每个节点上本地运行的 Kubernetes 代理 kubelet 会将条件报告给 Kubernetes 控制层面。有关更多信息,请参阅 Kubernetes 文档中的 kubelet。节点上的条件始终作为节点详细信息的一部分报告,每个条件的状态以及它的消息指示节点在该状态下的运行状况。将报告节点的以下常见条件:

      • Ready – 如果节点正常运行并可以接受 Pod,则此条件为 TRUE。如果节点未就绪,不能接受 Pod,则此条件为 FALLSEUNKNOWN 表示 Kubernetes 控制层面最近没有从该节点接收到心跳信号。对于 Amazon EKS 集群,心跳信号超时周期设置为 Kubernetes 默认值 40 秒。

      • Memory pressure – 正常操作下此条件为 FALSE,如果节点内存不足则为 TRUE

      • Disk pressure – 正常操作下此条件为 FALSE,如果节点磁盘容量不足,则为 TRUE

      • PID pressure – 正常操作下此条件为 FALSE,如果节点上运行的进程过多则为 TRUE。在节点上,每个容器作为一个进程运行,具有唯一的进程 ID 或 PID。

      • NetworkUnavailable – 在正常操作下,此条件为 FALSE 或不存在。若为 TRUE,则说明节点的网络未正确配置。

    • 分配给节点的 Kubernetes 标签注释。创建节点时,可能由您、Kubernetes 或 Amazon EKS API 分配了这些资源。您的工作负载可以使用这些值来调度 Pod。