AWS EKS 안에서 LB (Service, Ingress) 생성 및 사용을 위해서는 LB Controller (LBC) 를 설치 해야 한다
→ 기본적으로 LBC 가 없어도 LB 생성은 가능하나, AWS 에서 제공하는 ALB 및 추가 옵션들을 사용하기 위해서는 LBC 가 있어야 한다.
→ AWS 에서는 EKS 에내장된 툴을 사용하여 LB 생성 및 사용을 권장하지 않고, 사용자가 LBC 를 설치해서 사용하는것을 권장 한다
순서 요약
1. EKS 에 대한 OIDC 생성
2. LBC 생성을 위한 IAM role, policy 생성
3. LBC Install
4. 설치 확인
상세 내용
1. EKS 에 대한 OIDC 생성
#export cluster name 수정
export cluster_name=my-cluster
oidc_id=$(aws eks describe-cluster --name $cluster_name --query "cluster.identity.oidc.issuer" --output text | cut -d '/' -f 5)
#OIDC 가 이미 존재 하는지 확인
aws iam list-open-id-connect-providers | grep $oidc_id | cut -d "/" -f4
#OIDC 생성
eksctl utils associate-iam-oidc-provider --cluster $cluster_name --approve
2. LBC 생성을 위한 IAM role, policy 생성
#정책 문서 다운로드
curl-O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.5.4/docs/install/iam_policy.json
#정책 생성
aws iam create-policy \
--policy-name AWSLoadBalancerControllerIAMPolicy \
--policy-document file://iam_policy.json
#Role 생성
#cluster 수정, attach-policy arn 수정
eksctl create iamserviceaccount \
--cluster=my-cluster \
--namespace=kube-system \
--name=aws-load-balancer-controller \
--role-name AmazonEKSLoadBalancerControllerRole \
--attach-policy-arn=arn:aws:iam::111122223333:policy/AWSLoadBalancerControllerIAMPolicy \
--approve
3. LBC Install
#helm repo 추가 및 업데이트
helm repo add eks https://aws.github.io/eks-charts
helm repo update eks
#helm install
helm install aws-load-balancer-controller eks/aws-load-balancer-controller \
-n kube-system \
--set clusterName=my-cluster \
--set serviceAccount.create=false \
--set serviceAccount.name=aws-load-balancer-controller
4. 설치 확인
kubectl get deployment -n kube-system aws-load-balancer-controller
'AWS' 카테고리의 다른 글
EKS fargate 생성을 위한 설정 (0) | 2023.12.18 |
---|---|
AWS EC2 종료 Lambda with EventBridge (0) | 2023.11.28 |
AWS EC2/RDS Instance 정보 조회 Lambda 코드 (0) | 2023.09.24 |
Route53 라우팅 정책 (0) | 2023.08.05 |
AWS Route53 DNA Type (0) | 2023.07.22 |