故障排除 - Eksctl 用户指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

故障排除

本主题包括有关如何使用 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在删除时添加内容,则可能需要使用亚马逊的其他工具来删除 cloudformation 堆栈。这可以通过 gui 或 aws cli 来完成。

kubectl 日志和 kubectl 运行失败并显示授权错误

如果您的节点部署在私有子网中,kubectl logs或者出现以下错误而kubectl 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。更多细节可以在本期中找到。