AWS EKS 클러스터 구축
[참조]https://potato-yong.tistory.com/126
AWS CLI 설치
링크: https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html
가장 먼저 PC에 AWS CLI를 OS 환경에 맞추어 설치한다.
AWS CLI Configure 구성
기존에 생성했던 Access Key ID와 AWS Secret Access Key를 확인한다.
확인 방법:
- Access Key ID: AWS 계정에서 보안 자격 증명에서 확인 가능
- Secret Access Key: 생성 시에만 확인 또는 다운로드 가능
이후 터미널을 열고 설정 완료한다.
aws configure
입력 사항:
- AWS Access Key ID: 위에서 확인한 Access Key ID
- AWS Secret Access Key: 위에서 확인한 Secret Access Key
- Default region name: ap-northeast-2(서울)
- Default output format: json(기본 설정)
IAM 역할 생성
EKS 클러스터 IAM 역할 생성
IAM - 역할 - 역할 만들기 클릭
EKS - Cluster 사용 사례를 클릭해준다.
AmazonEKSClusterPolicy
권한 정책을 추가해준다.
이름과 설명을 입력한다.
EKS 워커노드 IAM 역할 생성
워커노드에 해당되는 EC2의 역할을 생성해준다.
IAM - 역할 - 역할 만들기 클릭
EC2 사용 사례를 클릭해준다.
다음 3가지 역할 추가
- AmazonEKS_CNI_Policy
- AmazonEKSWorkerNodePolicy
- AmazonEC2ContainerRegistryReadOnly
이름과 설명을 입력한다.
VPC 및 서브넷 생성
EKS에 사용되는 VPC 및 서브넷을 생성하기 위해 AWS에서 제공하는 CloudFomration Stack을 이용해 생성한다.
- 템플릿 소스:
https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml
- 참조 링크: https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/creating-a-vpc.html
이름 설정
파라미터 설정
EKS 클러스터 생성
EKS - 클러스터 - 클러스터 생성
클러스터 구성
앞서 생성한 클러스터 역할을 선택한다.
아래 첨부된 내용과 같이 최신 쿠버네티스 버전은 제약이 있기 때문에 1.21 버전을 선택한다.
네트워킹 지정
- VPC: 앞서 생성한 VPC 선택
- 서브넷: 앞서 생성한 Private 서브넷 선택
- 보안 그룹: VPC 스택에서 생성된 보안 그룹 선택
퍼블릭 및 프라이빗으로 선택한다.
kubeconfig 생성
로컬환경에서 kubectl 명령어를 사용해 쿠버네티스 클러스터에 접근하기 위해 다음 명령어를 통해 config 파일을 생성해준다.
aws eks --region ap-northeast-2 update-kubeconfig --name <cluster 이름>
워커 노드 그룹 생성
EKS - 클러스터 - 생성한 클러스터 선택 - 노드 그룹 추가 클릭
노드 그룹 구성
역할은 앞서 생성했던 워커 노드 역할 선택
컴퓨팅 및 조정 구성 설정
다음과 같이 설정한다.
- AMI 유형: Amazon Linux 2
- 용량 유형: On-Demand
- 인스턴스 유형: t3.medium(최소 사양)
- 디스크 크기: 20GB
원하는 노드 수로 설정한다.
노드 그룹 네트워크 구성
다음과 같이 설정한다.
- 서브넷: 앞서 생성해둔 Pirvate 서브넷 2개
- SSH 키 페어: 워커 노드에 접근할 키 페어로 생성하지 않았다면 생성 후 선택
- 보안 그룹: 워커 노드에 적용되는 보안 그룹 선택
AWS를 통한 EKS 클러스터 완성
[참조]https://potato-yong.tistory.com/126
끝!