如何向 Kubernetes 提供 AWS 凭证?

How do I provide AWS credentials to Kubernetes?

我正在 AWS 上设置一个 Kubernetes 集群,作为 API 服务器配置的一部分,我提供 --cloud-provider=aws 设置。

然而,一旦它启动,我在日志中看到它抱怨没有 AWS 凭证: NoCredentialProviders: no valid providers in chain

经过一番搜索,似乎大多数人使用 "kube-up" 脚本都解决了这个问题。但是,对于那些不使用脚本来设置集群的人,我们如何为 Kubernetes 提供 AWS 凭证?

听起来您没有在主 VM 上设置适当的 IAM 实例配置文件。 AWS 的 kube-up 脚本创建了一个 role and associated policy,它在创建时附加到主 VM。附加 IAM 策略应该会为您提供对 AWS 进行 API 调用所需的凭据。