我使用的是rke
1.0.4 版本,并且我在 AWS 的自定义节点上成功部署了牧场主管理的 kubernetes 集群。我没有使用cloud_provider: aws
. 现在,我正在尝试部署cloud_provider: aws
启用的集群,以便我可以将 EBS 卷用于持久卷。
EC2 实例使用 Terraform 单独部署。当使用这些自定义节点部署带有 rke 且 cloud_provider 设置为 aws 的集群时,kubelet 由于证书错误而失败。在我们的环境中,MITM 代理拦截所有 Internet 流量,因此必须使用特定的 CA 来验证 ec2.us-east-1.amazonaws.com 的证书。rancher-provider kubelet 镜像不信任该证书。是否可以选择添加自定义 ca 捆绑包?
请注意,IAM 角色很好。如果我使用官方 RPM 构建手动集群(非 Rancher),这一切都有效。我相信 kubelet/etc/pki
默认会查找 ca-bundle,因此会找到包含我的 MITM 代理证书的那个。
结果:docker logs kubelet 中的错误:
I0609 20:43:31.841214 8058 aws.go:1180] Zone not specified in configuration file; querying AWS metadata service
F0609 20:43:33.365708 8058 server.go:273] failed to run Kubelet: could not init cloud provider "aws": error finding instance i-4324dfsdfdfd432a: "error listing AWS instances: \"RequestError: send request failed\\ncaused by: Post https://ec2.us-east-1.amazonaws.com/: x509: certificate signed by unknown authority\""
过去有人解决过这个问题吗?
谢谢,