执行kubectl apply命令时遭遇AWS凭证错误求助
解决kubectl调用AWS凭证报错(exit code 2)
先修正命令输入错误
你执行的命令多了一个-f参数,正确命令应为:
kubectl apply -f deployment.yaml
核心排查步骤
确认AWS CLI已安装且可正常运行
在终端执行aws --version,若提示命令不存在,需安装对应系统版本的AWS CLI。验证AWS凭证有效性
执行以下命令检查当前凭证能否正常调用AWS服务:aws sts get-caller-identity若报错,说明凭证无效,需重新配置:
aws configure或检查环境变量
AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY是否正确设置。检查kubeconfig配置正确性
查看kubeconfig文件(默认路径~/.kube/config)中对应EKS集群的exec配置段,确保:command字段为aws(若AWS CLI安装在非默认路径,需填完整路径)args字段包含正确的集群名称,示例:args: - eks - get-token - --cluster-name - your-cluster-name
确保AWS CLI版本兼容
EKS的get-token命令要求AWS CLI v2版本,若使用v1会出现兼容性问题,升级到AWS CLI v2即可解决。验证IAM权限
当前AWS用户/角色需具备以下权限:eks:DescribeClustersts:GetCallerIdentity
检查IAM策略是否包含这些权限,若缺失需添加对应权限规则。
内容的提问来源于stack exchange,提问作者user3627034
相关产品推荐
相关产品推荐

