
rustrial/k8s-aws-iam-controllerk8s-aws-iam-controller是一个Kubernetes控制器,专门用于管理AWS IAM Roles for ServiceAccounts(IRSA)的信任策略语句。该控制器旨在简化Kubernetes集群中服务账户与AWS IAM角色的权限绑定流程,通过自动化管理IRSA信任策略,确保Pod能够安全、合规地访问AWS服务资源。
bashdocker run -d \ --name k8s-aws-iam-controller \ -e AWS_REGION=us-west-2 \ -e CLUSTER_NAME=my-eks-cluster \ -e KUBECONFIG=/etc/kubeconfig \ -v /path/to/kubeconfig:/etc/kubeconfig \ rustrial/k8s-aws-iam-controller:latest
通过Kubernetes YAML清单部署(示例,具体配置请参考GitHub仓库):
yamlapiVersion: apps/v1 kind: Deployment metadata: name: k8s-aws-iam-controller namespace: kube-system spec: replicas: 1 selector: matchLabels: app: k8s-aws-iam-controller template: metadata: labels: app: k8s-aws-iam-controller spec: serviceAccountName: iam-controller-sa containers: - name: controller image: rustrial/k8s-aws-iam-controller:latest env: - name: AWS_REGION value: "us-west-2" - name: CLUSTER_NAME value: "my-eks-cluster"
| 环境变量名 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|
AWS_REGION | AWS区域(如us-west-2) | 是 | 无 |
CLUSTER_NAME | Kubernetes集群名称(如EKS集群名) | 是 | 无 |
KUBECONFIG | kubeconfig文件路径(容器内路径) | 否 | 自动发现集群 |
LOG_LEVEL | 日志级别(debug/info/warn/error) | 否 | info |
SYNC_INTERVAL | 策略同步间隔(秒) | 否 | 30 |
控制器支持通过命令行参数调整行为(完整参数列表请参考GitHub仓库文档):
bash# 查看帮助信息 docker run --rm rustrial/k8s-aws-iam-controller:latest --help
创建ServiceAccount并关联IAM角色:
在Kubernetes中创建ServiceAccount,并添加注解指定IAM角色ARN:
yamlapiVersion: v1 kind: ServiceAccount metadata: name: my-service-account namespace: default annotations: eks.amazonaws.com/role-arn: arn:aws:iam::123456789012:role/my-iam-role
控制器将自动检测该ServiceAccount,并更新对应IAM角色的信任策略,允许集群中的该服务账户扮演此IAM角色。
iam:UpdateAssumeRolePolicy、iam:GetRole等权限)。更多详细配置和高级用法,请参考项目官方文档:[***]


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务