Elastic Kubernetes 서비스 | EKS의 애플리케이션 로드 밸런싱
1. 퍼블릭 서브넷에서 태그 설정

2. 클러스터에 대한 OIDC 자격 증명 공급자 생성

– IAM –> 자격 증명 공급자로 이동합니다.

3. 로드 밸런서를 위한 IAM 역할 생성
– 정책 생성(loadbalancer-controller-policy)


– 역할 만들기(사용자 지정 신뢰 정책)

https://github.com/listentolearn/aws-eks-app-deployment/blob/main/loadbalancer-trust-policy.json
{
“버전”: “2012-10-17”,
“의견” 🙁
{
“효과”: “허용”,
“교구 목사”:{
“Federated”:”arn:aws:iam::
},
“작업”:”sts:AssumeRoleWithWebIdentity”,
“상태”:{
“문자열 같음”:{
“oidc.eks.us-east-1.amazonaws.com/id/
“oidc.eks.us-east-1.amazonaws.com/id/
}
}
}
)
}

– 이전에 생성한 정책 선택(loadbalancer-controller-policy)


4. 클러스터 내에서 ServiceAccount 생성

https://github.com/listentolearn/aws-eks-app-deployment/blob/main/service-account.yaml
API 버전: v1
유형: 서비스 계정
메타데이터:
라벨:
app.kubernetes.io/component: 컨트롤러
app.kubernetes.io/name:aws-load-balancer-controller
이름: aws-load-balancer-controller
네임스페이스: kube-system
비고:
eks.amazonaws.com/role-arn:arn:aws:iam::


5. Helm repo 추가(클러스터에 로드 밸런서 컨트롤러 설치)

6. 헬름 로드 밸런서 설치

helm install aws-load-balancer-controller eks/aws-load-balancer-controller
-n 큐브 시스템
–set 클러스터 이름=클러스터 이름
–set serviceAccount.create=false
–set serviceAccount.name=aws-load-balancer-controller
## 오류시 다운그레이드!!
오류: exec 플러그인: 잘못된 apiVersion “client.authentication.k8s.io/v1alpha1” 버전 문제
7. 입력 생성

https://github.com/listentolearn/aws-eks-app-deployment/blob/main/ingress.yaml
apiVersion: network.k8s.io/v1
유형: 침투
메타데이터:
네임스페이스: game-2048
이름: 인그레스-2048
비고:
alb.ingress.kubernetes.io/scheme: 인터넷 액세스 가능
alb.ingress.kubernetes.io/대상 유형: ip
사양:
ingressClassName: alb
규칙:
– http:
방법:
-떨어져 있는: /
경로 유형: 접두사
백엔드:
서비스:
이름: 서비스-2048
항구:
번호: 80

## 인그레스 전에 배포하세요!
kubectl 적용 -f 배포.yaml

8. 콘솔에서 ALB 확인


https://www.youtube.com/watch?v=ZGKaSboqKzk