개발/AWS
[EKS] 환경 구축하기2 - Private Cluster 생성
피클s
2022. 1. 6. 13:53
드디어 EKS 클러스터를 생성합니다.
1. Bastion 접속 ( EC2 > 인스턴스 )
EKS-Worker-Station을 체크 후 연결을 클릭합니다.
붉은 박스부분을 복사하여 ssh 접속합니다.
*windows인 경우 wsl을 이용하면 putty와 같은 프로그램을 사용하지 않아도 됩니다.
2. eksctl용 yaml 파일 생성 (worker-station 내부)
$ vi eks-config.yaml
아래 내용을 입력합니다.
VPC ID, Subnet ID, securityGroup은 AWS 콘솔에서 확인할 수 있습니다.
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: MyEKSCluster
region: ap-northeast-2 # 원하는 리전을 입력합니다.
vpc:
id: vpc-... # VPC ID를 붙여넣습니다.
cidr: 172.32.0.0/16
securityGroup: sg-094f988caf8ab0a03 # EC2 보안그룹에서 Control Plane Security Group의 ID를 붙여넣습니다.
subnets:
private:
ap-northeast-2a:
id: subnet-... # Subnet의 cidr를 잘 확인하고 ID를 붙여넣습니다.
cidr: 172.32.64.0/18
ap-northeast-2b:
id: subnet-... # Subnet의 cidr를 잘 확인하고 ID를 붙여넣습니다.
cidr: 172.32.128.0/18
ap-northeast-2c:
id: subnet-... # Subnet의 cidr를 잘 확인하고 ID를 붙여넣습니다.
cidr: 172.32.192.0/18
clusterEndpoints:
publicAccess: false # Cluster에 대한 외부 접속을 차단합니다.
privateAccess: true # VPC 내부 접속을 허용합니다.
managedNodeGroups:
- name: EKS-PRODUCTION-NODE
instanceType: t3.medium
availabilityZones:
- ap-northeast-2a
- ap-northeast-2b
- ap-northeast-2c
privateNetworking: true # privateAccess: true 인 경우 true로 설정해야 합니다.
desiredCapacity: 1 # 초기에 생성하는 노드 갯수
minSize: 1 # 최소 노드 갯수
maxSize: 10 # 오토스케일링 시 늘어날 수 있는 최대 노드 갯수
ssh: # use existing EC2 key
allow: false # 노드에 대한 ssh 접속 차단
iam:
withAddonPolicies:
imageBuilder: true # AWS ECR에 대한 권한 추가
albIngress: true # albIngress에 대한 권한 추가
cloudWatch: true # cloudWatch에 대한 권한 추가
autoScaler: true # auto scaling에 대한 권한 추가
instanceName: EKS-WORKER
volumeSize: 30 # 노드의 볼륨 사이즈
파일을 저장합니다.
추가적인 옵션을 확인하고 싶으시면 여기에 방문하십시오.
3. EKS Cluster 생성 (worker-station 내부)
$ eksctl create cluster -f eks-config.yaml
클러스터 생성이 시작되었습니다. 10~20분 기다려줍니다.
이제 클러스터에 접속이 가능합니다.
$ kubectl get pod -A