1-6. 클라우드 환경에서 쿠버네티스 클러스터 만들기

황인권·2025년 2월 5일

Kubernetes

목록 보기
6/37

AWS에서 EKS로 쿠버네티스 클러스터 만들기

AWS를 사용

클라우드 서비스 중에서는 AWS의 점유율이 높기 때문에, 현업에 간다면 AWS EKS를 다루게 될 확률이 가장 높다.
그렇지만, AWS EKS는 무료 체험 기간이 없어서 실습을 하려면 시간당 500원 ~ 1,000원 정도 비용이 부과된다. 만약 이 금액이 부담 된다면, 3개월간 무료인 GCP로 사용해도 된다.

  1. AWS 콘솔에 접속하여 선택 지역을 'ap-norteast-2(서울)'로 변경한다.

  2. EKS 서비스에 접속한다.

  3. 클러스터 생성 버튼을 클릭한다.

  4. 클러스터의 이름을 입력한다.

  5. 'IAM 콘설에서 역할 생성 버튼'을 클릭하여, 역할 생성 페이지로 진입.

  • 우리가 AWS에 만들게 될 쿠버네티스 클러스터가 알아서 AWS의 여러 기능들을 사용할 수 있도록 권한을 부여하는 작업!
  1. 별다른 설정 변경 없이 '다음' 버튼을 계속 눌러 역할 이름을 지정하는 화면까지 이동 후, 역할 이름을 입력.


  2. IAM 역할을 생성해주고, 다시 클러스터 생성화면으로 돌아와 생성한 역할을 선택.

  3. 나머지 옵션은 별다른 변경없이, 계속 '다음' 버튼을 눌러 쿠버네티스 클러스터를 생성.

  4. 클러스터 생성 버튼을 클릭하면 이렇게 생성한 클러스터 상세 정보 화면으로 이동되며, 상태가 '활성'으로 바뀔 때까지 기다린다.

GCP를 사용

  1. GCP 콘솔에 접속한 뒤, 검색란에 'GKE'를 입력해 접속.

  2. Kubernetes Engine API를 활성화해야 한다는 화면이 나오면, '사용' 버튼을 누르고 완료될 때까지 기다린다.

  3. GKE 서비스에 정상적으로 진입하면 다음과 같은 대시보드 화면이 나타난다.

  4. 좌측 메뉴에서 '클러스'를 클릭하여 클러스터 관리 화면에 진입한 뒤, 클러스터 '만들기' 버튼을 클릭.

  5. 우측 상단에 있는 'STANDARD 클러스터로 전환' 버튼을 클릭해 스탠다드 클러스터 생성화면으로 이동.

  • GCP는 기본적으로 Autopilot이라는 추상화 수준이 매우 높은 쿠버네티스 서비스를 제공하고 있어, 실제 운영할 때는 모든 컴퓨팅 자원(노드) 관리를 알아서 해주기 때문에 편리하지만 앞으로 배우게 될 Node와 관련된 개념을 제대로 이해하려면 스탠다드 모드로 학습을 진행하는 것이 좋다.
    • 잘 기억해뒀다가 나중에 모든 개념을 이해한 후 Autopilot 모드를 한번 사용해보는 것도 좋다.


  1. 클러스터 이름을 자유롭게 입력해준 후, 위치 유형을 '영역'으로 선택.

  2. 위치 유형 영역을 'aisa-northeast3-a', 'asia-northeast3-b', 'asia-northeast3-c' 중에서 아무거나 하나 선택

  • GCP에서 'asia-northeast3'는 대한민국(서울)을 의미.
  • 'asia-northeast3-b'는 대한민국에 있는 구글 데이터센터 중 2번째 데이터센터(가용영역)을 의미한다고 보면 된다.
  • 원래 현업에서는 클러스터 자체도 고가용성을 유지하기 위해 여러 가용영역을 선택하는 것이 일반적이지만, AWS를 기준으로 진행할 것이기 때문에 최대한 비슷한 설정으로 진행.
  1. 나머지 설정은 그대로 두고, 좌측 메뉴에서 'default-pool'이라고 되어있는 메뉴 클릭.

  2. 다음과 같이 '노드 수'는 2로 입력한 뒤, '클러스터 자동 확장 처리 사용 설정'을 활성화하고 위치 정책은 '균형', 크기 한도 유형은 '영역별 한도'로 설정한 후 '최소 노드 수'는 2, '최대 노드 수'는 4로 입력

  3. 좌측 메뉴에서 '노드'를 클릭해 노드 상세 설정 화면에 진입

  4. 다른 설정은 그대로 두고, 머신 구성 부분에서 '범용' -> 'N1'을 선택

  5. 머신 구성 바로 아래에 있는 머신 유형에서 'n1-standard-1'을 선택해준 후, 보조 부팅 디스크 부분의 부팅 디스크 크기를 20으로 입력

  6. 다시 좌측 메뉴에서 '기능'을 클릭하여 기능 설정 화면에 진입

  7. 작업 부분의 모든 항목을 체크 해제

  8. 화면 하단 중앙에 있는 '만들기' 버튼을 클릭해 클러스터 생성을 완료


쿠버네티스 클러스터에 접속

AWS를 사용

IAM 유저 생성 및 엑세스 키 발급

  1. AWS 검색란에 'IAM'을 검색하여 IAM 서비스로 이동 후, 좌측 메뉴의 '사용자'를 클릭하여 유저 관리 화면으로 이동

  2. 우측 상단의 '사용자 생성' 버튼을 클릭하여 사용자 생성 화면으로 진입

  3. 원하는 사용자 이름을 입력하고, 다음으로 넘어간다.

  4. 권한 설정 화면에서 권한 옵션은 '직접 정책 연결' 그리고 권한 정책은 'AdministratorAccess'에 체크하고 다음으로 넘어간다.

  5. 다음으로 넘어간 뒤 사용자 생성을 완료

  6. 생성된 유저 이름을 클릭하여 상세 화면으로 이동

  7. '보안 자격 증명' 메뉴에 진입하여 엑세스 키 만들기 버튼을 클릭

  8. 사용 사례를 'Command Line Interface'로 선택하고, 동의 사항을 체크한 뒤 다음으로

  9. 태그 설정 화면에서는 아무것도 입력하지 않고 다음으로 넘어가 엑세스 키 생성 완료

  • 엑세스 키와 시크릿 키는 AWS CLI 도구 연결에 필요하니 자신만 볼 수 있는 공간(예를 들어 메모장)에 복사

AWS CLI 도구 설치 및 연결

  1. https://aws.amazon.com/ko/cli/ 주소에 접속하여 AWS CLI 도구 설치 파일을 내려 받아 설치

  2. AWS CLI 도구 설치가 완료되면, 터미널(cmd)를 열어 aws configure를 입력.

  3. 아까 생성한 IAM 유저의 AWS 엑세스 키와 시크릿 키를 입력해준 후, region은 'ap-northeast-2'를 입력(output format은 아무것도 입력하지 않고 엔터 눌러 완료)

IAM 유저에게 쿠버네티스 클러스터 엑세스 권한 부여

  1. EKS 클러스터의 상세 화면에서 엑세스 메뉴에 진입

  2. IAM 엑세스 항목 탭의 '엑세스 항목 생성' 버튼을 클릭하여 엑세스 항목 생성 화면에 진입

  3. IAM 보안 주체 입력란에 생성했던 IAM 유저를 찾아 입력

  4. 다음으로 이동 후, 엑세스 정책 중, 'AmazonEKSClusterAdminPolicy'를 선택하여 '정책 추가' 버튼을 클릭

  • 지금은 'AmazonEKSAdminPolicy'를 선택하는데 나중에 클러스터를 설정하고 있다면, 더 높은 권한인 'AmazonEKSClusterAdminPolicy'를 선택

  1. '생성' 버튼을 눌러 IAM 유저에게 클러스터 엑세스 권한 부여를 완료

노드 그룹 설정

  1. EKS 클러스터 상세 화면에서 '컴퓨팅' 메뉴에 진입

  2. 노드 그룹 항목에서 '노드 그룹 추가' 버튼을 클릭하여 노드 그룹 추가 화면에 진입

  3. 노드 그룹 이름을 입력

  4. 클러스터를 생성할 때와 마찬가지로, IAM 콘솔에서 역할을 생성
    (이번에도 별다른 설정 없이 그냥 '다음'을 계속 눌러 생성을 완료)


  5. 생성한 IAM 역할을 선택

  6. 다음으로 이동하여, 노드 그룹 조정 구성에 원하는 크기 2, 최소 크기2, 최대 크기4로 입력

  7. 이외의 설정은 그대로 두고 계속 다음으로 진행하여 노드 그룹 생성을 완료

내 컴퓨터에 EKS 클러스터 접속 정보 설정

  • 터미널에 aws eks update-kubeconfig --name <EKS 클러스터 이름>을 입력하여 내 컴퓨터에 EKS 클러스터에 대한 접속 정보를 설정

  • kubectl config get-contexts을 입력하여 설정이 제대로 완료되었는지 확인

GCP를 사용

GCP CLI 도구 설치 및 설정

  1. https://cloud.google.com/sdk/docs/install?hl=ko 사이트를 참고하여, GCP CLI 도구(gcloud)를 설치
  • MacOS는 설치 파일을 다운로드 받아, 터미널에서 설치 파일 경로로 이동하여 ./install.sh를 입력하여 설치 프로그램을 실행
  • 설치과정에서 무언가를 묻는 화면이 나온다면, 전부 '예'로 선택하고 넘어간다.

    macOS에서 gcloud 설치
  1. gcloud 설정 화면으로 진입하게 되면 GCP를 사용하는 구글 계정으로 로그인
  • MacOS는 gcloud를 설치한 후, 터미널을 재 시작하고 gcloud init을 입력하면 설정화면으로 진입

  1. 현재 사용중인 GCP 프로젝트를 선택
    (GCP 가입 시 자동으로 생성된 프로젝트 이외에 별도로 만든 것이 없다면, 그냥 1을 입력)

  2. 기본 지역을 설정할지 물어보는 화면이 나오면 n을 입력하여 거절

  3. gcloud 기본설정이 완료되었으면, 터미널에 gcloud components install kubectl을 입력해 GCP CLI 쿠버네티스 플로그인 설치 화면으로 진입

  4. 설치 과정에서 무언가 물어보는 화면이 나온다면 모두 '예'를 선택하여 설치

내 컴퓨터에 GKE 클러스터 접속 정보 설정

  1. GCP 콘솔에서 쿠버네티스 클레스터의 상세화면으로 진입합니다.

  2. 여기서 화면 상단에 있는 '연결' 버튼을 클릭

  3. 클러스터에 연결할 수 있는 CLI 명령어를 복사한 뒤, 터미널에 입력

  4. kubectl config get-contexts를 입력해서 제대로 연결 설정이 되었는지 확인하면 끝

profile
inkwon Hwang

0개의 댓글