반응형
1. 사전작업
- eksctl 설치
- EKS cluster 생성
2. OIDC 연결
서로 다른 서비스간 사용자의 인증을 도와주는 기능. (예. 구글, 애플)
쿠버네티스 서비스 계정에 IAM 역할을 사용하려면 클러스터에 IAM OIDC 공급자가 필요하다
eksctl utils associate-iam-oidc-provider \
--cluster [클러스터명] \
--region [리전] \
--profile [프로파일명] \
--approve
3. AWS Load Balancer Controller 설치
3-1. AWS Load Balancer Controller에 필요한 IAM policy 다운
curl -o iam-policy.json \
https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.4.1/docs/install/iam_policy.json
3-2. IAM policy 생성
aws iam create-policy \
--policy-name [정책명] \
--policy-document file://iam_policy.json \
--profile [프로파일명]
명령어를 수행한 후에 정책의 ARN을 복사해두자
3-3. IAM Role과 ServiceAccount 생성
쿠버네티스는 독자적으로 사용자를 관리하지 않고 제 3자(구글, AWS)에게 맡기고 있다.
대신 ServiceAccount라는 개념이 사용되는데, 특정 리소스를 조작하기 위해 필요한 인증, 인가를 위한 계정이다.
eksctl create iamserviceaccount \
--cluster=[클러스터명] \
--region=[리전명] \
--namespace=kube-system \
--name=aws-load-balancer-controller \
--attach-policy-arn=[ARN] \
--override-existing-serviceaccounts \
--profile [profile] \
--approve
4. Helm으로 설치
4-1. Helm 레포지토리 추가
helm repo add eks https://aws.github.io/eks-charts
helm repo update
4-2. LB 설치
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 \
--set image.repository=602401143452.dkr.ecr.ap-northeast-2.amazonaws.com/amazon/aws-load-balancer-controller \
--set region=ap-northeast-2 \
--set vpcId=[VPC]
위에서 사용되는 image의 경로는 리전마다 다르니 참고하면된다.
https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/add-ons-images.html
Amazon 컨테이너 이미지 레지스트리 - Amazon EKS
Amazon 컨테이너 이미지 레지스트리 AWS Load Balancer Controller 추가 기능 설치, Amazon VPC CNI plugin for Kubernetes, kube-proxy, 또는 스토리지 드라이버와 같은 추가 기능을 클러스터에 배포하는 경우 노드가 Ama
docs.aws.amazon.com
참조사이트
https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/deploy/installation/
728x90
'[Kubernetes]' 카테고리의 다른 글
[Kubernetes] ServiceAccount로 IAM Credentials 대신하기 - 1 (0) | 2023.01.20 |
---|---|
[k8s] ALB 적용하기 - 2. AWS console 사용 (0) | 2022.07.25 |