Minkube 本地的 k8s 集群 运行 应该有 AWS 凭证来访问 AWS 上的资源
k8s cluster running locally on Minkube should have AWS credentials to access resources on AWS
在开发过程中 - 我在我的 Minikube 开发机器上 运行 k8s 集群,运行 几个服务。
服务应该访问 AWS 资源,例如 S3 存储桶。为此 - pods 应该以某种方式获得 AWS 凭证。
向 AWS 用户验证 pods 的选项有哪些?
我应该在 docker 环境中传递 aws_access_key_id 和 aws_secret_access_key 吗?
它在生产中如何工作(在 EKS 上的 k8s 中)?节点的角色是否传递到 pods?
在本地进行身份验证的一种好方法是创建一个包含 AWS 凭据的 Kubernetes Secret
。然后,您可以在服务部署的环境变量中引用秘密,例如:
name: AWS_ACCESS_KEY
valueFrom:
secretKeyRef:
name: my-aws-secret
key: access-key
在 EKS 中,所有 pods 都可以从节点访问角色。这当然不适合生产环境,因为您很可能希望对特定 pod 设置更受限制的权限集。您可以查看 kube2iam 作为一个项目,您可以使用它来限制单个 pod 的 AWS 功能。
在开发过程中 - 我在我的 Minikube 开发机器上 运行 k8s 集群,运行 几个服务。
服务应该访问 AWS 资源,例如 S3 存储桶。为此 - pods 应该以某种方式获得 AWS 凭证。
向 AWS 用户验证 pods 的选项有哪些? 我应该在 docker 环境中传递 aws_access_key_id 和 aws_secret_access_key 吗?
它在生产中如何工作(在 EKS 上的 k8s 中)?节点的角色是否传递到 pods?
在本地进行身份验证的一种好方法是创建一个包含 AWS 凭据的 Kubernetes Secret
。然后,您可以在服务部署的环境变量中引用秘密,例如:
name: AWS_ACCESS_KEY
valueFrom:
secretKeyRef:
name: my-aws-secret
key: access-key
在 EKS 中,所有 pods 都可以从节点访问角色。这当然不适合生产环境,因为您很可能希望对特定 pod 设置更受限制的权限集。您可以查看 kube2iam 作为一个项目,您可以使用它来限制单个 pod 的 AWS 功能。