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

+ Recent posts