AWS

[EKS] AWS Load Balancer Controller 설치

ansmoon 2023. 3. 31. 14:42

 

 

 

1. 클러스터 생성이 되어있는 전제 하에 진행한다

 1) update-kubeconfig

aws eks --region <클러스터리전> update-kubeconfig --name <클러스터이름>
aws eks --region ap-northeast-2 update-kubeconfig --name moon-0331-2

 

2. IAM OIDC 제공업체 생성

eksctl utils associate-iam-oidc-provider --cluster <클러스터이름> --approve
eksctl utils associate-iam-oidc-provider --cluster moon-0331-2 --approve

 

 

3. IAM 정책 다운로드

aws iam create-policy --policy-name AWSLoadBalancerControllerIAMPolicy --policy-document file://iam_policy.json
aws iam create-policy --policy-name AWSLoadBalancerControllerIAMPolicyMoon --policy-document file://iam_policy.json

 

4. kube-system에 서비스 계정 생성

eksctl create iamserviceaccount --cluster=<클러스터이름> --namespace=kube-system --name=aws-load-balancer-controller --role-name AmazonEKSLoadBalancerControllerRole --attach-policy-arn=arn:aws:iam::432089655801:policy/AWSLoadBalancerControllerIAMPolicy --approve
eksctl create iamserviceaccount --cluster=moon-0331-2 --namespace=kube-system --name=aws-load-balancer-controller --role-name AmazonEKSLoadBalancerControllerRoleMoon --attach-policy-arn=arn:aws:iam::432089655801:policy/AWSLoadBalancerControllerIAMPolicyMoon --approve

 

<< 오류 >>

failed to creater iamserviceaccount 뜰 경우 CloudFormation에서 동일한 스택 삭제하기 (addon스택)

 

5. helm 리포지토리 추가 및 업데이트

helm repo add eks https://aws.github.io/eks-charts
helm repo update

 

 

6. AWS Load Balancer Controller 설치

helm install aws-load-balancer-controller eks/aws-load-balancer-controller \
  -n kube-system \
  --set clusterName=<클러스터이름> \
  --set serviceAccount.create=false \
  --set serviceAccount.name=aws-load-balancer-controller 
  
helm install aws-load-balancer-controller eks/aws-load-balancer-controller -n kube-system --set clusterName=moon-0331-2 --set serviceAccount.create=false --set serviceAccount.name=aws-load-balancer-controller

 

 

7. 설치 확인

kubectl get deployment -n kube-system aws-load-balancer-controller

 

 

8. 콘솔에서 설치 확인

EKS > 클러스터 > 워크로드 > 배포