ap-northeast-2oliveyoung-fbu-eksvpc-046f1a636e1115440409492321037kube-systemeksctl utils associate-iam-oidc-provider \\
--region ap-northeast-2 \\
--cluster oliveyoung-fbu-eks \\
--approve
# 컨트롤러 버전 변수(예시: v2.13.4)
VER=v2.13.4
# 최신 정책 내려받기
curl -O <https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/${VER}/docs/install/iam_policy.json>
=> 정책 다운 후
# 기존 고객관리 정책 ARN으로 새 버전 등록(같은 ARN 유지)
aws iam create-policy-version \\
--policy-arn arn:aws:iam::409492321037:policy/AWSLoadBalancerControllerIAMPolicy \\
--policy-document file://iam_policy.json \\
--set-as-default
=> 정책 생성
<aside>
</aside>
# (권장) eksctl로 SA 생성/정렬 (없으면 생성, 있으면 메타 갱신)
eksctl create iamserviceaccount \\
--cluster=oliveyoung-fbu-eks \\
--namespace=kube-system \\
--name=aws-load-balancer-controller \\
--attach-policy-arn arn:aws:iam::409492321037:policy/AWSLoadBalancerControllerIAMPolicy \\
--approve \\
--override-existing-serviceaccounts
확인:
kubectl -n kube-system get sa aws-load-balancer-controller -o yaml | grep -A1 eks.amazonaws.com/role-arn
eks.amazonaws.com/role-arn: arn:aws:iam::409492321037:role/... 형태
helm repo add eks <https://aws.github.io/eks-charts>
helm repo update
# CRD는 helm install시 자동 적용, helm upgrade 시에는 수동 적용 필요할 수 있음
# (업그레이드 케이스라면)
kubectl apply -k "github.com/aws/eks-charts/stable/aws-load-balancer-controller/crds?ref=master"
# 설치/업그레이드 (기존 SA 재사용)
helm upgrade --install aws-load-balancer-controller eks/aws-load-balancer-controller \\
-n kube-system \\
--set clusterName=oliveyoung-fbu-eks \\
--set region=ap-northeast-2 \\
--set vpcId=vpc-046f1a636e1115440 \\
--set serviceAccount.create=false \\
--set serviceAccount.name=aws-load-balancer-controller