일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- helm
- livenessPorbe
- 메탈LB
- terraform
- 깃허브 액션
- SAA 합격 후기
- 그라파나 대시보드
- Kubernetes
- 그라파나 시각화
- 딥레이서 보상함수
- 쿠버네티스
- kubernetes 동작 원리
- Solution Architecture
- 딥레이서
- Prometheus install
- github action 사용법
- Firelens
- grafana on kubernetes
- headless service
- AWS 딥레이서
- blue-green
- Kubernets on Jenkins
- 쿠버네티스 컴포넌트
- 솔데스크
- jenkins
- LoadBalancer Controller
- 로드밸런서 컨트롤러
- EFS CSI Driver
- Aurora cluster
- EKS 클러스터
Archives
mingming
EKS 클러스터 배포하기 (Terraform) 본문
지난글에 이어서 테라폼으로 EKS 클러스터를 배포 해보겠습니다.
사전 준비사항으로 로컬 사용자 pc에 aws cli 자격증명 정보가 있어야 합니다.
테라폼에는 여러 플랫폼 provider가 존재하며 잘 짜여진 모듈도 존재합니다.
AWS 에서 제공하는 eks 모듈을 통해 배포해보도록 하겠습니다.
VPC
우선 EKS를 배포하기위한 VPC 코드를 작성해줍니다.
vpc 또한 AWS 제공하는 vpc 모듈을 이용해 간단하게 배포할 수 있습니다.
provider "aws" {
region = "ap-northeast-2"
}
module "vpc" {
source = "terraform-aws-modules/vpc/aws"
name = "vpc name"
cidr = "vpc cidr"
azs = ["ap-northeast-2a", "ap-northeast-2c"]
public_subnets = ["서브넷 cidr", "서브넷 cidr"]
private_subnets = ["서브넷 cidr", "서브넷 cidr"]
map_public_ip_on_launch = true
enable_nat_gateway = true
one_nat_gateway_per_az = true
enable_dns_hostnames = true
}
EKS 클러스터 생성
module "eks" {
source = "terraform-aws-modules/eks/aws"
cluster_name = "eks-cluster"
cluster_version = "1.24"
cluster_endpoint_private_access = false
cluster_endpoint_public_access = true
cluster_addons = {
coredns = {
resolve_conflicts = "OVERWRITE"
}
kube-proxy = {}
vpc-cni = {
resolve_conflicts = "OVERWRITE"
}
}
vpc_id = module.vpc.vpc_id
subnet_ids = module.vpc.public_subnets
cloudwatch_log_group_retention_in_days = 1
eks_managed_node_group_defaults = {
instance_types = ["t3.small"]
}
eks_managed_node_groups = {
green = {
min_size = 1
max_size = 1
desired_size = 1
instance_types = ["t3.small"]
capacity_type = "ON_DEMAND"
}
}
}
해당 테라폼 코드를 init , apply 하시면 eks 클러스터가 생성됩니다.
생성된 클러스터의 config 파일을 로컬에 가져오려면
aws eks update-kubeconfig --name <cluster_name> --region ap-northeast-2
해당 명령어를 입력하시면 됩니다. kubeconfig 파일이 업데이트 되고 kubectl 명령어를 사용하실 수 있습니다.
다음글에서 해당 모듈을 이용한 로드밸런서 컨트롤러 efs csi driver 설치에 대해 알아보겠습니다.
'kubernetes' 카테고리의 다른 글
Kubernetes 컴포넌트 (0) | 2023.08.14 |
---|---|
kubernetes 동작원리 (1) | 2023.08.13 |
kubernetes 연습장 (0) | 2023.08.13 |
EKS 클러스터 배포하기 (eksctl 명령어) (0) | 2023.08.09 |
Kubernetes 설치하기 (Ubuntu 20.04) (0) | 2023.08.08 |