OIDC 권한 생성
cli
eksctl utils associate-iam-oidc-provider --cluster {{cluster-name}} --profile {{aws accout name}} --region {{region}} --approve
or
console (IAM - 자격증명 공급자)
대상 : sts.amazonaws.com
ALB 정책 생성 (해당 정책이 IAM 서비스에 있다면 SKIP)
alb github
https://github.com/kubernetes-sigs/aws-load-balancer-controller/tree/main/helm/aws-load-balancer-controller
curl -o iam-policy.json https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/main/docs/install/iam_policy.json
aws iam create-policy --policy-name AWSLoadBalancerControllerIAMPolicy --policy-document file://alb-policy.json
서비스 어카운트 생성
eksctl create iamserviceaccount --cluster {} \
--namespace kube-system \
--name aws-load-balancer-controller \
--attach-policy-arn arn:aws:iam::{}:policy/AWSLoadBalancerControllerIAMPolicy
--override-existing-serviceaccounts
--region {} --approve
실패 시 eksctl utils associate-iam-oidc-provider cli 실행
생성 확인 혹은 콘솔에서 cloudformation에서 확인 가능
kubectl get serviceaccount -n kube-system
그 이후 Helm 혹은 kubectl로 배포 가능
https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/aws-load-balancer-controller.html
alb helm update (helm repo에서 (eks-charts 필수)
helm upgrade -i aws-load-balancer-controller eks/aws-load-balancer-controller -n kube-system --set clusterName={cluster-name} --set serviceAccount.create=false --set serviceAccount.name=aws-load-balancer-controller