ALB Controller 설치

0) 현 환경

1) OIDC 연결 확인

eksctl utils associate-iam-oidc-provider \\
  --region ap-northeast-2 \\
  --cluster oliveyoung-fbu-eks \\
  --approve

2) 최신 IAM 정책 다운로드 & 적용

# 컨트롤러 버전 변수(예시: 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>

iam-policy.json

</aside>

3) IRSA용 ServiceAccount 생성/정렬

# (권장) 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/... 형태

4) Helm으로 컨트롤러 설치 (RBAC/CRD까지 자동)

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