本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
故障診斷
本主題包含如何使用 Eksctl 解決常見錯誤的指示。
失敗的堆疊建立
您可以使用 --cfn-disable-rollback旗標來停止 Cloudformation 復原失敗的堆疊,讓偵錯更容易。
子網路 ID "subnet-11111111" 與 "subnet-22222222" 不同
指定 VPC 子網路的組態檔案,如下所示:
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: test region: us-east-1 vpc: subnets: public: us-east-1a: {id: subnet-11111111} us-east-1b: {id: subnet-22222222} private: us-east-1a: {id: subnet-33333333} us-east-1b: {id: subnet-44444444} nodeGroups: []
錯誤subnet ID "subnet-11111111" is not the same as "subnet-22222222"表示指定的子網路未放置在正確的可用區域中。檢查 AWS 主控台中每個可用區域的正確子網路 ID。
在此範例中,VPC 的正確組態為:
vpc: subnets: public: us-east-1a: {id: subnet-22222222} us-east-1b: {id: subnet-11111111} private: us-east-1a: {id: subnet-33333333} us-east-1b: {id: subnet-44444444}
刪除問題
如果您的刪除無效,或者您忘記--wait新增刪除,您可能需要使用 amazon 的其他工具來刪除 cloudformation 堆疊。這可以透過 gui 或使用 aws cli 來完成。
kubectl 日誌和 kubectl 執行失敗並出現授權錯誤
如果您的節點部署在私有子網路中,或kubectl logskubectl run失敗並發生錯誤,如下所示:
Error attaching, falling back to logs: unable to upgrade connection: Authorization error (user=kube-apiserver-kubelet-client, verb=create, resource=nodes, subresource=proxy)
Error from server (InternalError): Internal error occurred: Authorization error (user=kube-apiserver-kubelet-client, verb=get, resource=nodes, subresource=proxy)
然後,您可能需要設定 enableDnsHostnames。您可以在此問題