AWS Builder Center: Learn, Build and Connect with builders in the AWS community
AWS Builder Center is the official home for builders on AWS. Share and read what others are working on, follow people who inspire you, explore training and workshops, and find tools to support what you're building.
如何讓我的工作節點加入 Amazon EKS 叢集?
我的工作節點無法加入 Amazon Elastic Kubernetes Service (Amazon EKS) 叢集。
解決方法
若要對無法加入 Amazon EKS 叢集的工作節點的問題進行疑難排解,請完成下列步驟:
使用 Systems Manager 自動化識別問題
執行 AWSSupport-TroubleshootEKSWorkerNode 自動化執行手冊,以識別導致工作節點無法加入叢集的問題。
先決條件:
- 工作節點必須已將 AmazonSSMManagedInstanceCore 政策附加至其 AWS Identity and Access Management (IAM) 角色
- 工作節點必須正在執行,且可透過 AWS Systems Manager 存取
如需執行此自動化的詳細資訊,請參閱 AWSSupport-TroubleshootEKSWorkerNode。
檢查 VPC 的 DNS 組態
請完成下列步驟:
- 開啟 Amazon Virtual Private Cloud (Amazon VPC) 主控台。
- 在導覽窗格,選擇 Your VPCs (您的 VPC)。
- 選取您的 VPC。
- 選擇 Actions (動作),然後選擇 Edit VPC settings (編輯 VPC 設定)。
- 檢查下列設定:
在 DNS resolution (DNS 解析) 中,確認已開啟。
在 DNS hostnames (DNS 主機名稱) 中,確認已開啟。 - 在導覽窗格中,選擇 DHCP options sets (DHCP 選項集)。
- 選取您的 DHCP 選項集。
- 檢查下列值:
確認 domain-name 已設為 region.compute.internal,例如 us-west-2.compute.internal。
確認 domain-name-servers 已設為 AmazonProvidedDNS。
如需 DHCP 選項集的詳細資訊,請參閱 Amazon VPC 中的 DHCP 選項集。
檢查工作節點的 IAM 權限
請完成下列步驟:
- 開啟 IAM 主控台。
- 在導覽窗格中,選擇 Roles (角色)。
- 搜尋您的工作節點 IAM 角色。
- 選取該角色。
- 選擇 Permissions (許可) 索引標籤。
- 確認是否已附加以下受管政策:
AmazonEKSWorkerNodePolicy
AmazonEC2ContainerRegistryPullOnly
注意: 如果您未針對 VPC CNI 使用 IRSA 或 EKS Pod 身分識別,則您也必須附加 AmazonEKS_CNI_Policy 受管政策。不過,最佳實務是將此政策附加至專門供 Amazon VPC CNI 附加元件使用的個別角色。
如需建立節點 IAM 角色的詳細資訊,請參閱 Amazon EKS 節點 IAM 角色。
為工作節點設定驗證
選擇下列其中一種方法來設定驗證:
使用 Access Entries
建議使用 Access Entries 方法授予工作節點存取叢集的權限。
- 開啟 Amazon EKS 主控台。
- 在導覽窗格中,選擇 Clusters (叢集)。
- 選取您的叢集。
- 選擇 Access (存取) 索引標籤。
- 在 Access entries (存取項目) 區段中,確認您的工作節點 IAM 角色 ARN 有對應的項目存在。
- 如果沒有項目,請選擇 Create access entry (建立存取項目)。
- 在 IAM principal ARN (IAM 主體 ARN) 中,輸入您的工作節點 IAM 角色 ARN,而非執行個體設定檔 ARN。
- 在 Type (類型) 中,根據您的節點類型選擇 EC2 Linux 或 EC2 Windows。
- 選擇 Next (下一步),然後選擇 Create (建立)。
如需更多 Access Entries 的資訊,請參閱 Grant IAM users access to Kubernetes with EKS access entries (使用 EKS 存取項目將 IAM 使用者存取權授予 Kubernetes)。
使用 aws-auth ConfigMap
如果您的叢集不支援 Access Entries,則請使用 aws-auth ConfigMap 方法。
如需設定 aws-auth ConfigMap 的詳細資訊,請參閱 Grant IAM users access to Kubernetes with a ConfigMap (使用 ConfigMap 授予 IAM 使用者 Kubernetes 存取權)。
檢查使用者資料組態
對於自行管理的節點,請確認使用者資料包含正確的叢集名稱和組態。
使用者資料必須包含有您叢集名稱的 bootstrap 指令碼:
#!/bin/bash /etc/eks/bootstrap.sh my-cluster
注意: 請將 my-cluster 替換為您實際的叢集名稱。
如需更多啟動指令碼組態的資訊,請參閱 Node bootstrapping (節點啟動程序)。
檢查網路連線能力
請完成下列步驟:
- 確認工作節點可以連線到叢集 API 伺服器端點。
- 對於位於公共子網路中的節點,確認已指派公共 IP 位址。
- 對於位於私有子網路中的節點,請確認子網路具有通往 NAT 閘道的路由。
- 確認安全群組允許下列流量:
叢集 API 通訊使用連接埠 443
kubelet 通訊使用連接埠 10250
DNS 解析使用連接埠 53、TCP 和 UDP
如需安全群組需求的更多資訊,請參閱 View Amazon EKS security group requirements for clusters (檢視叢集的 Amazon EKS 安全群組需求)。
檢查私有叢集的 VPC 端點
如果您的叢集使用私有端點,請確認是否存在下列 VPC 端點:
- com.amazonaws.region.ec2
- com.amazonaws.region.ecr.api
- com.amazonaws.region.ecr.dkr
- com.amazonaws.region.s3
- com.amazonaws.region.sts
如需私有叢集需求的更多資訊,請參閱 Deploy private clusters with limited internet access (部署具有限網際網路存取的私有叢集)。
檢查叢集角色組態
請完成下列步驟:
- 開啟 IAM 主控台。
- 在導覽窗格中,選擇 Roles (角色)。
- 搜尋您的叢集 IAM 角色。
- 選取該角色。
- 選擇 Permissions (許可) 索引標籤。
- 確認已附加 AmazonEKSClusterPolicy 受管政策。
- 選擇 Trust relationships (信任關係) 索引標籤,並確認信任政策包含下列政策:
**注意:**如果信任政策與上述政策不符,請將信任政策複製到 Trusted entities (信任實體) 視窗中。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
檢閱 kubelet 日誌
若要檢閱工作節點上的 kubelet 日誌:
-
使用 SSH 或 Session Manager 連線到您的工作節點。
-
執行下列命令:
sudo journalctl -u kubelet -f -
尋找指出節點為何無法加入叢集的錯誤訊息。
確認已啟用 AWS STS 端點
確認您的帳戶已啟用您 AWS 區域的 AWS Security Token Service (AWS STS) 端點。
如需啟用 STS 端點的更多資訊,請參閱 Activating and deactivating AWS STS in an AWS Region (在 AWS 區域中啟用和停用 AWS STS)。
檢查 VPC 和子網路標籤
請完成下列步驟:
- 開啟 Amazon VPC 主控台。
- 在導覽窗格中,選擇 Subnets (子網路)。
- 選取部署工作節點的子網路。
- 選擇 Tags (標籤) 索引標籤。
- 確認是否存在下列標籤:
Key (金鑰) 為 kubernetes.io/cluster/my-cluster
Value (值) 為 shared 或 owned
注意: 請將 my-cluster 替換為您實際的叢集名稱。
相關資訊
Troubleshoot problems with Amazon EKS clusters and nodes (對 Amazon EKS 叢集與節點的問題進行疑難排解)
VPC and Subnet Considerations (VPC 和子網路考量事項)
- 語言
- 中文 (繁體)

相關內容
已提問 2 年前
已提問 3 年前
已提問 2 年前
