我正在AWS上设置Kubernetes集群,作为API服务器配置的一部分,我提供了--cloud-provider=aws
设置。
然而,一旦启动,我在日志中看到它抱怨没有AWS凭据:
NoCredentialProviders: no valid providers in chain
经过一些搜索后,似乎通过使用“kube-up”脚本解决了大多数人的问题。但是,对于那些没有使用脚本来设置集群的人,我们如何向Kubernetes提供AWS凭证?
答案 0 :(得分:4)
听起来您没有在主VM上设置适当的IAM实例配置文件。 AWS的kube-up
脚本创建了一个role和关联的policy,它在创建主VM时附加到主VM。附加IAM策略应该为您提供在AWS中进行API调用所需的凭据。
答案 1 :(得分:0)
首先安装aws命令行工具http://docs.aws.amazon.com/cli/latest/userguide/installing.html
...然后创建您的安全ID密钥对http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSGettingStartedGuide/AWSCredentials.html
...然后发出
aws configure
会提示您输入新的密钥ID /密钥对+区域(格式默认为json,所以只需按Enter键)
AWS Access Key ID [****************IOUQ]:
AWS Secret Access Key [****************bsXr]:
Default region name [us-east-1]:
Default output format [None]:
...然后将其放入群集启动脚本中以向kubernetes提供AWS凭据
$(aws ecr get-login)