Amazon web services 在何处设置kube-up.sh的aws访问/密钥,以便在Kubernetes(aws)中正常工作

Amazon web services 在何处设置kube-up.sh的aws访问/密钥,以便在Kubernetes(aws)中正常工作,amazon-web-services,kubernetes,Amazon Web Services,Kubernetes,我正在尝试使用与Kubernetes/cluster/kube-up.sh上的Kubernetes源捆绑的kube-up.shsetup脚本在我的AWS帐户上设置Kubernetes群集 但是当我运行kube-up.sh时,我得到了以下错误: pranjal:~/go/src/github.com/GoogleCloudPlatform/kubernetes/cluster$ ./kube-up.sh Starting cluster using os distro: ubuntu Starti

我正在尝试使用与Kubernetes/cluster/kube-up.sh上的Kubernetes源捆绑的
kube-up.sh
setup脚本在我的AWS帐户上设置Kubernetes群集

但是当我运行kube-up.sh时,我得到了以下错误:

pranjal:~/go/src/github.com/GoogleCloudPlatform/kubernetes/cluster$ ./kube-up.sh
Starting cluster using os distro: ubuntu
Starting cluster using provider: aws
... calling verify-prereqs
... calling kube-up
Uploading to Amazon S3
Creating kubernetes-staging-6b790c161af2b2c39939b542c73b775a
make_bucket failed: s3://kubernetes-staging-6b790c161af2b2c39939b542c73b775

我确信我的工具无法读取我的AWS访问密钥和密码。我将其存储在.aws/config中。我不确定应该将它设置在哪里,以便它能够正确阅读和工作。

经过一番搜索,我找到了问题的解决方案

很多AWS配置都进入了该文件。但是,没有选项在此处设置访问密钥ID和机密访问密钥(这可能有一定意义,因为cluster/aws/config-default.sh文件是源代码的一部分,凭据应该保存在其他地方,更安全的地方)

在看到kubernetes/cluster/aws/util.sh源代码后,我意识到kubernetes实际上在内部调用了aws命令行工具来更改aws基础设施

因此,正确安装和配置AWS命令行工具将解决此问题

我发出以下命令后:

aws configure
并回答了输入ID/Key的提示。它将这些值保存到此文件中:

~/.aws/credentials
详见


这解决了我的问题,kube-up.sh在我这样做之后工作得非常好。

另一种方法是填充环境变量。。。将以下命令放入文件xxxxx中

export     AWS_ACCESS_KEY_ID=$(cat ${AWS_ACCOUNT_CONFIGDIR}/id)
export AWS_SECRET_ACCESS_KEY=$(cat ${AWS_ACCOUNT_CONFIGDIR}/key)
然后在调用kube-up.sh之前查找该文件的源代码

source xxxxx
kube-up.sh 
aws在探测之前首先查看上述一对环境变量

~/.aws/credentials
我发现这使得在各种aws帐户之间切换更容易