- [실습] terrafrom - EKS 배포2024년 04월 27일
- yeongki0944
- 작성자
- 2024.04.27.:47
1. eks 배포 terraform 코드 clone
# 코드 가져오기 git clone https://github.com/gasida/aews-cicd.git cd aews-cicd/4
ap-northeast-2의 VPC를 모두 사용했기에, us-east-1으로 배포하다록 var.tf파일 수정
# terraform 환경 변수 저장 export TF_VAR_KeyName=[각자 ssh keypair] export TF_VAR_KeyName='eks-pem-key' echo $TF_VAR_KeyName
terraform으로 eks배포 중 에러 발생
EC2 Role > access key로 변경
10분뒤 terraform apply 성공
AWS Console 확인
eks 명령어
# ExternalDNS MyDomain=<자신의 도메인> *MyDomain=gasida.link* MyDnzHostedZoneId=$(aws route53 list-hosted-zones-by-name --dns-name "${MyDomain}." --query "HostedZones[0].Id" --output text) echo $MyDomain, $MyDnzHostedZoneId curl -s -O <https://raw.githubusercontent.com/gasida/PKOS/main/aews/externaldns.yaml> MyDomain=$MyDomain MyDnzHostedZoneId=$MyDnzHostedZoneId envsubst < externaldns.yaml | kubectl apply -f - # kube-ops-view helm repo add geek-cookbook <https://geek-cookbook.github.io/charts/> helm install kube-ops-view geek-cookbook/kube-ops-view --version 1.2.2 --set env.TZ="Asia/Seoul" --namespace kube-system kubectl patch svc -n kube-system kube-ops-view -p '{"spec":{"type":"LoadBalancer"}}' kubectl annotate service kube-ops-view -n kube-system "external-dns.alpha.kubernetes.io/hostname=kubeopsview.$MyDomain" echo -e "Kube Ops View URL = " # AWS LB Controller helm repo add eks <https://aws.github.io/eks-charts> helm repo update helm install aws-load-balancer-controller eks/aws-load-balancer-controller -n kube-system --set clusterName=$CLUSTER_NAME \\ --set serviceAccount.create=false --set serviceAccount.name=aws-load-balancer-controller # gp3 스토리지 클래스 생성 kubectl apply -f <https://raw.githubusercontent.com/gasida/PKOS/main/aews/gp3-sc.yaml>
2. terraform 코드 재사용 검증 : 두번째 EKS 클러스터 배포
cd .. mkdir 5 cd 5 cp ../4/*.tf . ls
terraform init terraform apply -auto-approve -var=ClusterBaseName=myeks2 -var=KubernetesVersion="1.28"
3. 리소스 삭제
# 첫번째 클러스터 삭제 # CLB는 terraform으로 배포하지 않고 직접 수동으로 배포되었으니, 수동으로 삭제를 해주어야 함 helm uninstall kube-ops-view --namespace kube-system # 클러스터 삭제 terraform destroy -auto-approve # 두번째 클러스터 삭제 terraform destroy -auto-approve -var=ClusterBaseName=myeks2 -var=KubernetesVersion="1.28
다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)