1 回答
- 最新
- 投票最多
- 评论最多
0
您好:
欲使用 EKS 的 ALB-ingress-controller 启用 ELB 需要 IAM 授权控制器
因为控制器在工作程序节点上运行,所以它需要通过 IAM 权限访问 AWS ALB/NLB 资源。IAM 权限可以通过 ServiceAccount 的 IAM 角色设置,也可以直接附加到工作程序节点 IAM 角色.
步骤为下:
- 下载适用于 AWS Load Balancer Controller 的 IAM 政策,允许它代表您呼叫 AWS API。
curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.5.4/docs/install/iam_policy.json
将v2.5.4更换为您控制器的版本
- 使用上一个步骤中下载的政策,建立 IAM 政策。
aws iam create-policy \
--policy-name AWSLoadBalancerControllerIAMPolicy \
--policy-document file://iam_policy.json
记下返回的策略 ARN
- 为 AWS 负载均衡器控制器创建 IAM 角色和服务帐号,使用上述步骤中的 ARN
eksctl create iamserviceaccount \
--cluster=<cluster-name> \
--namespace=kube-system \
--name=aws-load-balancer-controller \
--attach-policy-arn=arn:aws:iam::<AWS_ACCOUNT_ID>:policy/AWSLoadBalancerControllerIAMPolicy \
--override-existing-serviceaccounts \
--approve
完成后,您可以先删除
重新应用 ingress 的 yaml 档案,并使用:
kubectl -n your-ingress-name get ingress
来确认 ALB 成功启用
以下附上 kubernetes 以及 aws 官方文件供参考: kubernetes: https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/deploy/installation/#iam-permissions AWS: https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/aws-load-balancer-controller.html
已回答 1 年前
相关内容
- 已提问 6 个月前
- AWS 官方已更新 2 年前
- AWS 官方已更新 10 个月前
- AWS 官方已更新 1 年前