Amazon web services 在何处设置kube-up.sh的aws访问/密钥,以便在Kubernetes(aws)中正常工作
我正在尝试使用与Kubernetes/cluster/kube-up.sh上的Kubernetes源捆绑的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
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帐户之间切换更容易