查看 Kubernetes 资源
您可以使用 AWS Management Console 查看部署到您的集群的 Kubernetes 资源。您无法使用 AWS CLI 或 eksctl 查看 Kubernetes 资源。要使用命令行工具查看 Kubernetes 资源,请使用 kubectl。
先决条件
要查看 AWS Management Console 中的计算选项卡上的资源选项卡和节点部分,您使用的 IAM 主体必须具有特定的 IAM 和 Kubernetes 权限。有关更多信息,请参阅所需的权限。
使用 AWS Management Console 查看 Kubernetes 资源
从以下位置打开 Amazon EKS 控制台:https://console.aws.amazon.com/eks/home#/clusters
。 -
在 Clusters(集群)列表中,选择包含要查看的 Kubernetes 资源的集群。
-
选择资源选项卡。
-
选择您要查看其资源的 Resource type(资源类型)组,例如 Workloads(工作负载)。您可以看到该组中的资源类型列表。
-
选择资源类型,例如工作负载组中的部署。您可以看到资源类型的描述、Kubernetes 文档的链接以获取有关资源类型的更多信息,以及在集群上部署的该类型资源的列表。如果列表为空,则表示您的集群中没有部署此类型的资源。
-
选择一种资源以查看关于该资源的更多信息。请尝试以下示例:
-
依次选择 Workloads(工作负载)组、Deployments(部署)资源类型和 coredns 资源。当您选择资源时,您默认情况下处于 Structured view(结构化视图)中。对于某些资源类型,您会在 Structured view(结构化视图)中看到 Pods(容器组(pod))部分。本节列出了由工作负载管理的 Pods。您可以选择列出的任何 Pod 以查看有关 Pod 的信息。并非所有资源类型都在结构化视图中显示信息。如果您在该资源的页面右上角选择 Raw view(原始视图),您可以看到来自 Kubernetes API 对该资源的完整 JSON 响应。
-
选择集群组,然后选择节点资源类型。您可以看到集群中所有节点的列表。节点可以是任意 Amazon EKS 节点类型。这与您在为集群选择 Compute(计算)选项时在 Nodes(节点)部分中看到的列表相同。从列表中选择节点资源。在结构化视图中,您还会看到 Pods(容器组(pod))部分。此部分将向您显示在节点上运行的所有 Pods。
-
所需的权限
要查看 AWS Management Console 中的计算选项卡上的资源选项卡和节点部分,您使用的 IAM 主体必须具有特定的最低 IAM 和 Kubernetes 权限。完成以下步骤以将所需的权限分配给您的 IAM 主体。
-
确保向您正在使用的 IAM 主体分配
eks:AccessKubernetesApi
以及查看 Kubernetes 资源所需的其他 IAM 权限。有关如何为 IAM 主体编辑权限的更多信息,请参阅《IAM 用户指南》中的控制主体的访问权限。有关如何编辑角色权限策略的信息,请参阅《IAM 用户指南》中的修改角色权限策略(控制台)。以下示例策略包括主体查看账户中所有集群的 Kubernetes 资源所需的权限。将
替换为您的AWS账户 ID。111122223333
{ "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/*" } ] }要查看已连接集群中的节点,Amazon EKS 连接器 IAM 角色应能够模拟集群中的主体。这使得 Amazon EKS Connector 能够将主体映射到 Kubernetes 用户。
-
创建绑定到 Kubernetes
role
或clusterrole
的 Kubernetesrolebinding
或clusterrolebinding
,该角色具有查看 Kubernetes 资源所需的权限。要了解有关 Kubernetes 角色和角色绑定的更多信息,请参阅 Kubernetes 文档中的使用 RBAC 授权。您可以将以下清单之一应用于创建 role
和rolebinding
或者具有必要 Kubernetes 权限的clusterrole
和clusterrolebinding
的集群。-
查看所有命名空间中的 Kubernetes 资源 - 文件中的组名称为
eks-console-dashboard-full-access-group
。使用以下命令将清单应用于集群:kubectl apply -f https://s3.us-west-2.amazonaws.com/amazon-eks/docs/eks-console-full-access.yaml
-
查看特定命名空间中的 Kubernetes 资源 - 此文件中的命名空间为
default
。文件中的组名为eks-console-dashboard-restricted-access-group
。使用以下命令将清单应用于集群:kubectl apply -f https://s3.us-west-2.amazonaws.com/amazon-eks/docs/eks-console-restricted-access.yaml
如果您需要更改 Kubernetes 组名称、命名空间、权限或文件中的任何其他配置,请先下载文件并对其进行编辑,然后再将其应用于集群:
-
使用下面的命令之一下载文件:
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
-
根据需要编辑文件。
-
使用以下命令之一将清单应用于集群:
kubectl apply -f eks-console-full-access.yaml
kubectl apply -f eks-console-restricted-access.yaml
-
-
将 IAM 主体映射到
aws-auth
ConfigMap
中的 Kubernetes 用户或组。您可以使用eksctl
之类的工具更新ConfigMap
,或者可以通过编辑它来进行手动更新。重要
我们建议使用
eksctl
或者其他工具来编辑ConfigMap
。有关您可以使用的其他工具的信息,请参阅《Amazon EKS 最佳实践指南》中的使用工具对aws-auth
ConfigMap
进行更改。格式不正确的 aws-auth
ConfigMap
可能会导致您失去对集群的访问权限。