查看工作负载 - Amazon EKS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

查看工作负载

工作负载定义在 Kubernetes 集群上运行的应用程序。每个工作负载控制 Pod。Pod 是 Kubernetes 集群内的基本计算单位,表示一起运行的一个或多个容器。

您可以使用 Amazon EKS 控制台查看有关在集群上运行的 Kubernetes 工作负载和 Pod 的信息。

Prerequisites

您用于登录 IAM 的 IAM 用户或 AWS 管理控制台 角色必须满足以下要求。

  • 具有 eks:AccessKubernetesApi 和其他必要的 IAM 权限以查看附加到它的工作负载。有关示例 IAM 策略,请参阅查看 AWS 管理控制台 中所有集群的节点和工作负载

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

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

    • 查看所有命名空间中的 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 管理控制台 查看工作负载

  1. Open the Amazon EKS console at https://console.amazonaws.cn/eks/home#/clusters.

  2. Clusters (集群) 列表中,选择要查看其工作负载的集群。

  3. Workloads (工作负载) 选项卡上,您将看到当前部署到集群的所有 Kubernetes 工作负载的 Names (名称) 列表、Pod count (Pod 计数) 以及每个工作负载的 Status (状态)

    重要

    如果您无法看到任何工作负载,或者看到 Your current user or role does not unable to Kubernetes objects on this EKS cluster (您的当前用户或角色无法访问此 EKS 集群上的 Kubernetes 对象),则可能需要从 All Namespaces (所有命名空间) 下拉列表中选择不同的命名空间。如果您仍然遇到问题,请参阅本主题的先决条件。如果您未解决问题,则仍可在 Amazon EKSConfiguration (配置) 选项卡上查看和管理 集群,但无法查看有关工作负载的信息。

    您可以在集群上部署以下类型的工作负载。

    • 部署 确保运行特定数量的 Pod,并包含部署更改的逻辑。–

    • ReplicaSet – 确保运行特定数量的 Pod。可以由部署控制。

    • StatefulSet – 管理有状态应用程序的部署。

    • DaemonSet 确保 Pod 的副本在集群中的所有(或部分)节点上运行。–

    • 作业 – 创建一个或多个 Pod,并确保指定数量的 Pod 运行直至完成。

    有关更多信息,请参阅 Kubernetes 文档中的工作负载

    默认情况下,所有 Amazon EKS 集群具有以下工作负载:

    • coredns – 部署 Deployment Pod 的两个副本的 coredns。Pod 为集群中的所有 Pod 提供名称解析。默认情况下,将部署两个 Pod 以实现高可用性,而不考虑集群中部署的节点数。有关更多信息,请参阅安装或升级 CoreDNS。Pod 可以部署到任何节点类型。但是,只有当您的集群包含的 Fargate 配置文件具有与工作负载命名空间匹配的命名空间时,才能将它们部署到 Fargate 节点。

    • aws-node – 一种 DaemonSet,用于将一个 Pod 部署到集群中的每个 Amazon EC2 节点。Pod 运行 Amazon Virtual Private Cloud (Amazon VPC) CNI 控制器,该控制器为您的集群中的 Pod 和节点提供 VPC 联网功能。有关更多信息,请参阅Pod 联网 (CNI)。此工作负载未部署到 Fargate 节点,因为 Fargate 已包含 Amazon VPC CNI 控制器。

    • kube-proxy – 一种将一个 Pod 部署到集群中每个 DaemonSet 节点的 Amazon EC2。Pod 在节点上维护网络规则,以实现与 Pod 的网络通信。有关更多信息,请参阅 Kubernetes 文档中的 kube-proxy。此工作负载未部署到 Fargate 节点。

    查看工作负载详细信息

    选择其中一个 Workloads (工作负载)Name (名称) 列中的链接将显示以下信息:

    • 分配给工作负载的 Status (状态)Namespace (命名空间)Selectors (选择器)(如果有)。

    • 由工作负载管理的 Pods 列表、其 Status (状态) 以及 Created (已创建) 日期和时间。

    • 分配给工作负载的 Kubernetes 标签注释。这些可能会在工作负载创建时由您、Kubernetes 或 Amazon EKS API 分配。

    在检查工作负载时看到的一些详细信息可能因工作负载类型而异。要了解有关每种工作负载类型的唯一属性的更多信息,请参阅 Kubernetes 文档中的工作负载

    查看 Pod 详细信息

    Pod 是 Kubernetes 集群内的基本计算单位,表示一起运行的一个或多个容器。每个工作负载控制集群上运行的多个 Pod 之一。Pod 设计为相对短暂且不可变的对象。随着时间的推移,在集群运行时启动和停止 Pod 是正常的。开始或停止的 Pod 反映您工作负载的变化以及集群规模的更改。有关更多信息,请参阅 Kubernetes 文档中的 Pods

    在查看工作负载时,请在某个 PodsName (名称) 列中选择一个链接以查看有关 Pod 的以下信息:

    • Pod 所在的 Kubernetes Namespace (命名空间) 和 Pod 的 Status (状态)

    • 运行 Pod 的节点。节点可能是 Amazon EC2 实例或 Fargate pod。有关查看节点的更多信息,请参阅查看节点

    • pod 中的 Containers (容器)。选择容器的名称可提供在启动 Pod 时提供的 Image (映像)Ports (端口)Mounts (挂载)Arguments (参数)。Pod 可以定义两种类型的容器。第一个是应用程序 容器,即在 Pod 运行时运行的容器。第二个是 init 容器,这些容器用作在 Pod 启动期间运行的进程的容器。您可以在 Pod 详细信息页面上查看这两种类型的容器。

    • 分配给 Pod 的 Kubernetes 标签注释