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