我想對於在 Amazon Elastic Kubernetes Service (Amazon EKS) 叢集中搭配使用受管理節點群組與自訂啟動範本時發生的錯誤進行疑難排解。
簡短說明
當您在 Amazon EKS 叢集中搭配使用受管理節點群組與自訂啟動範本時,可能會遇到下列其中一個錯誤:
- "Client.InternalError: Client error on launch"
- "SourceEc2LaunchTemplateNotFound or The Amazon EC2 Launch Template lt-xxxxxxxxxxxxxxxxx version x was not found"
- "Node group entered a DEGRADED status"
解決方法
Client.InternalError: Client error on launch
當您在自訂啟動範本中使用不正確權限的加密 Amazon Elastic Block Store (Amazon EBS) 磁碟區時,會發生此錯誤。若要檢查加密狀態以及 AWS Identity and Access Management (IAM) 權限或政策,請完成下列任務:
SourceEc2LaunchTemplateNotFound or The Amazon EC2 Launch Template lt-xxxxxxxxxxxxxxxxx version x was not found
當您透過節點的 Auto Scaling 群組而非 Amazon EKS 手動變更自訂啟動範本版本時,就會發生此錯誤。若要解決此問題,您必須使用 Amazon EKS 來更新啟動範本版本。
若要從受管理節點群組更新 EC2 啟動範本,請完成下列步驟:
- 開啟 Amazon EKS 主控台。
- 在導覽窗格中,選擇叢集。
- 在叢集名稱下,選擇包含要更新的節點群組的叢集。
- 選擇計算索引標籤。
- 對於節點群組,選擇您的節點,然後選擇變更版本。
- 選取要套用至節點群組的版本。請確定更新策略已設定為持續更新。
- 選擇更新。
當您使用自訂啟動範本建立節點群組時,如果刪除參照範本,也會發生此錯誤。當您使用自訂啟動範本建立節點群組時,Amazon EKS 會複製範本。如果刪除原始範本,則必須重新建立節點群組。
若要重新建立節點群組,請完成下列步驟:
-
啟動新節點群組。
-
執行下列命令以確認所有節點的運行都正常、處於就緒狀態,並且已加入叢集:
$ kubectl get nodes
-
耗盡您的工作節點。
-
刪除原始節點群組。
在建立新啟動範本之後,節點群組會進入 DEGRADED 狀態
節點群組可能進入 DEGRADED 狀態,並顯示類似下列錯誤的訊息:
"The Amazon EC2 Launch Template : lt-xxxxxxxxxxxxxxxxx has a new version associated with your Autoscaling group, which is not managed by Amazon EKS.Expected Launch Template version: x".
當受管理節點群組的 Amazon EC2 啟動範本版本與 Amazon EKS 建立的版本不符時,就會發生此錯誤。不使用自訂啟動範本的現有節點群組無法直接更新。若要解決此錯誤,請使用您偏好的設定建立啟動範本和版本。然後,使用啟動範本來建立節點群組。如果新節點群組是從自訂範本啟動的,則建立範本的新版本。您可以使用此範本,而無需將節點群組置於 DEGRADED 狀態。
相關資訊
使用啟動範本自訂受管理節點
啟動範本組態基礎