我想知道我的 Amazon Elastic Kubernetes Service (Amazon EKS) 控制平面是否執行了維護作業。
簡短描述
Amazon EKS 會持續更新 API 伺服器以確保高可用性,使您的叢集不會變得不確定或無法復原。然而,當 API 伺服器執行個體的 IP 位址改變時,API 伺服器的用戶端可能會受到影響。管理重新連線是 API 伺服器用戶端的最佳實務。如需更多資訊,請參閱 將現有叢集更新到新的 Kubernetes 版本。
Amazon EKS 會在指定子網路中產生新的跨 AWS 帳戶彈性網路介面,然後移除先前的彈性網路介面。此操作會啟用叢集端點 IP 位址的變更。如果您的環境不符合要求,跨帳戶彈性網路介面的建立將會失敗。彈性網路介面建立失敗可能導致以下問題:
- 工作節點和控制平面之間的通訊。
- 私有 Amazon EKS 叢集端點的存取問題。
- kubectl exec 和 kubectl logs 命令執行時間過長。
- EKS 連線延遲。
若要檢查您的 Amazon EKS 控制平面是否已進行維護,請查看網路介面的建立日期。或是檢查 CloudTrail 中 CreateNetworkInterface 事件歷史記錄的事件時間。
解決方法
若要判斷您的 Amazon EKS 控制平面是否已更新,請選擇以下其中一個解決方案:
檢查您 EKS 叢集的跨帳戶彈性網路介面
若要檢查叢集的網路介面,請執行以下命令。若要檢查特定叢集的網路介面,請將 Amazon EKS* 替換為 Amazon EKS example-cluster-name。
aws ec2 describe-network-interfaces --filter Name=description,Values="Amazon EKS*"
aws ec2 describe-network-interfaces --filter Name=description,Values="Amazon EKS example-cluster-name"
-或-
若要在主控台檢查您的 Amazon EKS 是否已更新,請完成以下步驟:
- 開啟 Amazon EKS console (Amazon EKS 主控台)。
- 在搜尋欄輸入您的 Amazon EKS 叢集名稱。
- 選擇介面類型為 Elastic network interface (彈性網路介面),且描述為 Amazon EKS example cluster name (Amazon EKS 範例叢集名稱) 的網路介面。
- 檢查網路介面的建立日期,以確認 EKS 已經修補。
確認叢集至少有兩個彈性網路介面。當彈性網路介面的建立日期晚於叢集建立或使用者更新日期時,叢集即由 Amazon EKS 更新。
檢查事件歷史記錄
若要確認叢集的跨帳戶彈性網路介面的變更,請查看 AWS CloudTrail 中的 CreateNetworkInterface 事件歷史記錄。請完成下列步驟:
- 開啟 CloudTrail console (CloudTrail 主控台)。
- 在導覽窗格中,選擇 Event history (事件歷史記錄)。
- 在 Lookup attributes (尋找屬性) 中,選取 Event name (事件名稱)。輸入 CreateNetworkInterface。
- 檢查 User name (使用者名稱) 為 Amazon EKS 之項目的 Event time (事件時間)。
**注意:**CloudTrail 可提供過去 90 天的事件記錄。
確認叢集至少有兩個彈性網路介面。如果彈性網路介面的建立日期晚於叢集建立或使用者更新日期,則該叢集由 Amazon EKS 更新。
重新嘗試建立新的跨帳戶彈性網路介面
如果彈性網路介面少於兩個,請在 CloudTrail 中檢查CreateNetworkInterface事件是否有失敗紀錄。
CloudTrail 日誌會顯示新跨帳戶彈性網路介面失敗的原因。若要解決此錯誤,請確認叢集的資源是否符合 VPC 要求。
以下是常見的失敗原因:
子網路和安全群組
檢查已設定的子網路和安全群組是否仍然存在。如果子網路和安全群組不存在,請執行以下命令,以在相同的 VPC 中使用新資源更新叢集:
aws eks update-cluster-config --name <your-cluster> \
--resources-vpc-config subnetIds=<subnet id>,securityGroupIds=<security id>
子網路中 IP 位址不足
若要解決此錯誤,請在叢集子網路中釋放至少兩個 IP 位址,或將不同子網路關聯到您的叢集。
相關資訊
如何對 Amazon EKS 叢集升級失敗的問題進行疑難排解?
Amazon EKS 工作節點的叢集網路解析