協助改善此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要提供此使用者指南,請選擇位於每個頁面右窗格中的 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 中檢視 Kubernetes 資源 AWS Management Console
您可以檢視部署至使用 AWS Management Console的叢集的 Kubernetes 資源。您無法使用 CLI AWS 或 eksctl
注意
-
開啟 Amazon EKS 主控台
。 -
在 Clusters (叢集) 清單中,選取包含您要檢視的 Kubernetes 資源的叢集。
-
選取 Resources (資源) 標籤。
-
選取您要檢視資源的 Resource Type (資源類型) 群組,例如 Workloads (工作負載)。您可以看到該群組中的資源類型清單。
-
選取資源類型,例如 Workloads (工作負載) 群組中的 Deployments (部署)。您可以看到資源類型的說明、一個 Kubernetes 文件連結以獲取有關資源類型的詳細資訊,以及部署在叢集上的該類型的資源列表。如果清單是空的,則不會將該類型的資源部署至您的叢集。
-
請選取資源以檢視其詳細資訊。請試試看下列範例:
-
選取 Workloads (工作負載) 群組,選取 Deployments (部署) 資源類型,然後選取 coredns 資源。當您選取資源時,依預設,您位於 Structured view (結構式檢視)。針對某些資源類型,您會在 Structured view (結構式檢視) 看到 Pods 區段。本節列出由工作負載管理的 Pod。您可以選取列出的任何 Pod,以檢視 Pod 的相關資訊。並非所有資源類型都顯示於 Structured View (結構式檢視)。如果選擇資源頁面右上角的 Raw view (Raw 檢視),您可以看到來自資源 Kubernetes API 的完整 JSON 回應。
-
選取 Cluster (叢集) 群組,然後選取 Nodes (節點) 資源類型。您將看到叢集中所有節點的清單。節點可以是任何 Amazon EKS 節點類型。這個列表與您選取叢集的 Compute (運算) 標籤時,在 Nodes (節點)看到的列表為同一列表。從清單中選取節點資源。在 Structured view (結構式檢視) 中,您還會看到 Pods 區段。本節顯示節點上執行的所有 Pod。
-
所需的許可
若要在 中的運算索引標籤上檢視資源索引標籤和節點區段 AWS Management Console,您使用的 IAM 主體必須具有特定的最低 IAM 和 Kubernetes 許可。完成以下步驟,將所需的許可指派給您的 IAM 主體。
-
請確定
eks:AccessKubernetesApi
和其他檢視 Kubernetes 資源的必要 IAM 許可已指派給您正在使用的 IAM 主體。如需如何編輯 IAM 主體許可的詳細資訊,請參閱《IAM 使用者指南》中的控制對主體的存取。如需如何編輯角色許可的詳細資訊,請參閱《IAM 使用者指南》中的變更角色許可 (主控台)。下列範例政策包含委託人檢視您帳戶中所有叢集 Kubernetes 資源的必要許可。將
111122223333
取代為 AWS 您的帳戶 ID。{ "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 角色應能模擬叢集中的主體。這可讓 Amazon EKS 連接器將主體映射至 Kubernetes 使用者。
-
建立繫結至 Kubernetes
role
或clusterrole
的rolebinding
或clusterrolebinding
,且該種 Kubernetes 角色具有檢視 Kubernetes 資源的必要許可。若要進一步了解 Kubernetes 角色和角色連結,請參閱 Kubernetes 文件中的 Using RBAC Authorization(使用 RBAC 授權)。您可以將以下清單檔案之一套用至建立具備 Kubernetes 所需許可的 role
和rolebinding
或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 主體映射至 中的 Kubernetes
aws-auth
使用者或群組ConfigMap
。您可以使用例如eksctl
的工具來更新ConfigMap
,或者您可以透過編輯來手動更新它。重要
我們建議您使用
eksctl
或其他工具來編輯ConfigMap
。如需有關您可以使用之其他工具的資訊,請參閱《Amazon EKS 最佳實務指南》中的使用工具對 aws-authConfigMap 進行變更。格式錯誤的 aws-auth
ConfigMap
可能會導致您失去叢集存取權。
使用 eksctl 編輯
-
您需要在裝置
0.204.0
或 AWS CloudShell 上安裝版本 或更新版本的eksctl
命令列工具。如需有關安裝或更新eksctl
的指示,請參閱eksctl
文件中的安裝一節。 -
在
ConfigMap
檢視目前的映射項目。使用您叢集的名稱取代my-cluster
。將region-code
取代為您的叢集所在的 AWS 區域。eksctl get iamidentitymapping --cluster my-cluster --region=region-code
範例輸出如下。
ARN USERNAME GROUPS ACCOUNT arn:aws: iam::111122223333:role/eksctl-my-cluster-my-nodegroup-NodeInstanceRole-1XLS7754U3ZPA system:node:{{EC2PrivateDNSName}} system:bootstrappers,system:nodes
-
為角色新增映射項目。此範例假設您在第一個步驟中將 IAM 許可連接至名為
my-console-viewer-role
的角色。使用您的帳戶 ID 取代111122223333
。eksctl create iamidentitymapping \ --cluster my-cluster \ --region=region-code \ --arn arn:aws: iam::111122223333:role/my-console-viewer-role \ --group eks-console-dashboard-full-access-group \ --no-duplicate-arns
重要
角色 ARN 不能包含路徑,例如
role/my-team/developers/my-role
。ARN 的格式必須是arn:aws: iam::
。在此範例中,需移除111122223333
:role/my-role
my-team/developers/
。範例輸出如下。
[...] 2022-05-09 14:51:20 [ℹ] adding identity "arn:aws: iam::111122223333:role/my-console-viewer-role" to auth ConfigMap
-
為使用者新增映射項目。IAM 最佳實務建議您將許可授予角色而非使用者。此範例假設您在第一個步驟中將 IAM 許可連接至名為
my-user
的使用者。使用您的帳戶 ID 取代111122223333
。eksctl create iamidentitymapping \ --cluster my-cluster \ --region=region-code \ --arn arn:aws: iam::111122223333:user/my-user \ --group eks-console-dashboard-restricted-access-group \ --no-duplicate-arns
範例輸出如下。
[...] 2022-05-09 14:53:48 [ℹ] adding identity "arn:aws: iam::111122223333:user/my-user" to auth ConfigMap
-
再次檢視
ConfigMap
中的映射項目。eksctl get iamidentitymapping --cluster my-cluster --region=region-code
範例輸出如下。
ARN USERNAME GROUPS ACCOUNT arn:aws: iam::111122223333:role/eksctl-my-cluster-my-nodegroup-NodeInstanceRole-1XLS7754U3ZPA system:node:{{EC2PrivateDNSName}} system:bootstrappers,system:nodes arn:aws: iam::111122223333:role/my-console-viewer-role eks-console-dashboard-full-access-group arn:aws: iam::111122223333:user/my-user eks-console-dashboard-restricted-access-group
手動編輯 ConfigMap
如需新增使用者或角色到 aws-auth
ConfigMap
的詳細資訊,請參閱 將 IAM 主體新增至 Amazon EKS 叢集。
-
開啟
aws-auth
ConfigMap
進行編輯。kubectl edit -n kube-system configmap/aws-auth
-
將對應新增至
aws-auth
ConfigMap
,但不要取代任何現有的對應。下列範例會新增 IAM 主體之間的映射,並在第一個步驟中新增許可,以及在上一個步驟中建立的 Kubernetes 群組:-
my-console-viewer-role
角色和eks-console-dashboard-full-access-group
。 -
my-user
使用者和eks-console-dashboard-restricted-access-group
。這些範例假設您在第一個步驟中將 IAM 許可連接至名為
my-console-viewer-role
的角色,以及連接至名為my-user
的使用者。將111122223333
取代為 AWS 您的帳戶 ID。apiVersion: v1 data: mapRoles: | - groups: - eks-console-dashboard-full-access-group rolearn: arn:aws: iam::111122223333:role/my-console-viewer-role username: my-console-viewer-role mapUsers: | - groups: - eks-console-dashboard-restricted-access-group userarn: arn:aws: iam::111122223333:user/my-user username: my-user
重要
角色 ARN 不能包含路徑,例如
role/my-team/developers/my-console-viewer-role
。ARN 的格式必須是arn:aws: iam::
。在此範例中,需移除111122223333
:role/my-console-viewer-role
my-team/developers/
。
-
-
儲存檔案並結束您的文字編輯器。