出于安全原因,我想将
kubectl
工具配置为使用当前 shell 中定义的变量来连接到集群,而不是指向 ~/.aws/credentials 文件中定义的配置文件。
这已经可以与普通的
aws
命令以及我用来配置资源的 terraform
一起使用。
在通过 1Password CLI 工具运行命令之前,我将这些值获取到 shell 中。是否可以让
kubectl
命令使用当前 shell 环境中已定义的值(当前 $AWS_ACCESS_KEY_ID
和 $AWS_SECRET_ACCESS_KEY
)而不是使用配置文件?
如果没有,通常如何避免将 AWS 密钥硬编码到本地配置文件中以连接到 AWS 上的 EKS 集群?
是的,您可以将 kubectl 配置为使用 AWS 凭证的环境变量,而不是依赖于 AWS 凭证文件。这种方法通过避免在静态文件中存储敏感信息的需要来增强安全性。 Kubernetes 支持使用 exec 凭证插件,并且 AWS CLI 可以用作此类插件来动态获取凭证。