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

AWS CodeBuild POST_BUILD阶段执行kubectl apply报认证错误如何修复

报错原因

你遇到的报错是因为CodeBuild运行环境未完成EKS集群的身份认证,kubectl无法获取合法的集群访问凭证。

修复步骤
  • 配置CodeBuild服务角色的IAM权限
    进入IAM控制台,找到当前CodeBuild项目使用的服务角色,为角色附加AmazonEKSClusterPolicy权限,确保角色拥有eks:DescribeCluster动作的访问权限。
  • 修改buildspec.yml配置,提前生成kubeconfig认证文件
    在POST_BUILD阶段执行kubectl apply命令前,先添加如下命令,替换尖括号内的参数为你的实际EKS集群信息:
    aws eks update-kubeconfig --name <你的EKS集群名称> --region <集群所属AWS区域>
    
    该命令会自动将集群访问凭证写入到kubectl默认读取的配置路径中。
  • 配置EKS集群的访问权限映射
    在本地已拥有EKS集群管理员权限的环境中执行kubectl edit configmap aws-auth -n kube-system,在mapRoles配置段添加如下内容,替换为你的CodeBuild服务角色ARN:
    - rolearn: arn:aws:iam::<你的AWS账号ID>:role/<CodeBuild服务角色名>
      username: codebuild
      groups:
        - system:masters
    
    如果你不需要CodeBuild拥有集群全权限,可以自行创建对应权限的RBAC规则,替换system:masters为你自定义的角色组即可。
  • 重新运行CodeBuild任务验证配置是否生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 19:30:01