AWS
AWS
Amazon EKS에 Pinot 배포가 준비된 관리형 Kubernetes 클러스터를 프로비저닝하는 방법이에요. 필요한 CLI 도구를 설치하고 EKS 클러스터를 만든 뒤 kubectl로 연결하는 전체 과정을 안내해요.
출처: AWS
본문
이 페이지를 마치면 알게 되는 것 (Outcome)
Apache Pinot를 배포할 준비가 된 Amazon EKS 클러스터를 필수 도구와 함께 만들 수 있어요.
사전 요구 사항 (Prerequisites)
- AWS 계정
- 다음 CLI 도구 설치 (아래 단계 참조)
단계 (Steps)
1. 도구 설치
kubectl
brew install kubernetes-cli
확인:
kubectl version
Helm
brew install kubernetes-helm
확인:
helm version
AWS CLI
AWS CLI 설치 가이드를 따르거나 다음을 실행하세요:
curl "https://d1vvhvl2y92vvt.cloudfront.net/awscli-exe-macos.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
eksctl
brew tap weaveworks/tap
brew install weaveworks/tap/eksctl
2. AWS 자격 증명 구성
aws configure
💡 환경 변수
AWS_ACCESS_KEY_ID와AWS_SECRET_ACCESS_KEY는~/.aws/credentials에 저장된 자격 증명을 재정의해요.
3. EKS 클러스터 생성
다음은 us-west-2 리전에서 t3.xlarge 인스턴스를 사용해 pinot-quickstart라는 단일 노드 클러스터를 만들어요:
EKS_CLUSTER_NAME=pinot-quickstart
eksctl create cluster \
--name ${EKS_CLUSTER_NAME} \
--version 1.16 \
--region us-west-2 \
--nodegroup-name standard-workers \
--node-type t3.xlarge \
--nodes 1 \
--nodes-min 1 \
--nodes-max 1
Kubernetes 1.23+에서는 영구 볼륨 프로비저닝을 위해 EBS CSI 드라이버를 활성화하세요:
eksctl utils associate-iam-oidc-provider --region=us-east-2 --cluster=pinot-quickstart --approve
eksctl create iamserviceaccount \
--name ebs-csi-controller-sa \
--namespace kube-system \
--cluster pinot-quickstart \
--attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy \
--approve \
--role-only \
--role-name AmazonEKS_EBS_CSI_DriverRole
eksctl create addon --name aws-ebs-csi-driver --cluster pinot-quickstart \
--service-account-role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/AmazonEKS_EBS_CSI_DriverRole --force
클러스터 상태를 모니터링합니다:
EKS_CLUSTER_NAME=pinot-quickstart
aws eks describe-cluster --name ${EKS_CLUSTER_NAME} --region us-west-2
클러스터 상태가 ACTIVE가 될 때까지 기다리세요.
4. 클러스터에 연결
EKS_CLUSTER_NAME=pinot-quickstart
aws eks update-kubeconfig --name ${EKS_CLUSTER_NAME}
확인 (Verify)
kubectl get nodes
워커 노드가 나열되고 Ready 상태인 것을 볼 수 있을 거예요.
정리 (Cleaning up)
작업을 마친 뒤 클러스터를 삭제하려면:
EKS_CLUSTER_NAME=pinot-quickstart
aws eks delete-cluster --name ${EKS_CLUSTER_NAME}
다음 단계 (Next step)
클러스터가 준비됐어요. Kubernetes 설치로 계속 진행해 Pinot를 배포하세요.