You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用kubectl管理多AWS账号EKS集群时如何切换AWS配置文件

EKS 多 AWS 账号切换 AWS Profile 最优方案

kubectl 访问 EKS 集群时默认调用 AWS CLI 认证逻辑,切换 Profile 本质是让认证模块读取对应账号的凭证,根据使用场景可以选择以下几种方案:

单次临时切换(适合跨账号执行单条命令)

直接在 kubectl 命令前增加 AWS_PROFILE 环境变量前缀,不会修改全局或会话级配置,用完即失效:

AWS_PROFILE=<你的目标Profile名称> kubectl <待执行的命令>
# 示例:用prod Profile获取集群节点列表
AWS_PROFILE=prod kubectl get nodes

当前终端会话切换(适合单账号连续执行多条命令)

给当前终端会话全局设置 AWS_PROFILE 环境变量,后续所有 kubectl、aws 命令都会自动使用该 Profile,直到终端关闭或手动修改:

# 设置当前会话生效的Profile
export AWS_PROFILE=prod
# 验证当前生效的账号信息
aws sts get-caller-identity

上下文绑定Profile(适合固定集群长期使用)

直接修改本地 kubeconfig 配置,给指定 EKS 集群的上下文绑定对应的 AWS Profile,后续只要切换到该上下文就会自动用绑定的 Profile 认证,无需手动切换环境变量:

  1. 打开本地 kubeconfig 文件(默认路径为 ~/.kube/config)
  2. 找到对应 EKS 集群的 user 配置,在 user.exec.env 下新增 Profile 绑定条目,示例配置如下:
users:
- name: arn:aws:eks:us-east-1:123456789012:cluster/prod-cluster
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1beta1
      command: aws
      args:
        - eks
        - get-token
        - --cluster-name
        - prod-cluster
      env:
        # 新增以下两行绑定Profile
        - name: AWS_PROFILE
          value: prod
  1. 配置完成后直接切换对应上下文即可自动生效:
kubectl config use-context <对应prod集群的上下文名称>

便捷优化建议

如果需要频繁切换多个账号,可以给常用操作设置别名,简化输入:

# 写入~/.bashrc或~/.zshrc永久生效
alias kprod='AWS_PROFILE=prod kubectl'
alias ktest='AWS_PROFILE=test kubectl'
# 之后直接用别名执行命令即可
kprod get pods

内容的提问来源于stack exchange,提问作者Gavi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 01:12:00