查看节点 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

查看节点

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

先决条件

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

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

  • 对于已连接集群中的节点,Amazon EKS Connector Service 账户能够模拟集群中的 IAM 或角色。这让 eks-connector 将 IAM 用户或角色映射到 Kubernetes 用户。

  • 映射到 aws-auth configmap 中的 Kubernetes 用户或组。有关更多信息,请参阅 让 IAM 用户和角色有权访问您的集群

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

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

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

使用 Amazon Web Services Management Console 查看节点

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

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

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

    重要

    如果您在概览选项卡上看不到任何节点,或者看到错误消息您的当前用户或角色无权访问此 EKS 集群上的 Kubernetes 对象,请参阅本主题的先决条件。如果您不解决这一问题,仍可以在 Configuration(配置)选项卡上查看和管理 Amazon EKS 集群。

    注意

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

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

    • 托管和自行管理节点的 Amazon EC2 Instance type(实例类型)、Kernel version(内核版本)、Kubelet version(Kubelet 版本)、Container runtime(容器运行时)、OS(操作系统)和 OS image(操作系统映像)。已连接的集群不显示 Instance type(实例类型)。

    • 指向该节点的 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。