如何向Kubernetes提供AWS凭据?

时间:2015-10-11 20:05:48

标签: amazon-web-services kubernetes

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

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

经过一些搜索后,似乎通过使用“kube-up”脚本解决了大多数人的问题。但是,对于那些没有使用脚本来设置集群的人,我们如何向Kubernetes提供AWS凭证?

2 个答案:

答案 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)