Kubernetes Engine으로 쿠버네티스 클러스터 구축
Kubernetes Engine을 이용하여 쿠버네티스 클러스터를 생성하고 이를 기반으로 웹 서비스를 배포할 수 있습니다.
- 예상 소요 시간: 30분
- 사용자 환경
- 권장 운영 체제: MacOS
- Region: kr-central-2
- 사전 준비 사항
사전 준비
액세스 키 발급 및 관리
IAM 사용자 자격 증명인 액세스 키(Access key)는 액세스 키 ID와 보안 액세스 키를 의미하며, API 인증 토큰 발급 시 필요한 정보입니다.
API 사용 준비 문서를 참고하여 액세스 키를 발급하시기 바랍니다.
액세스 키 ID 및 보안 액세스 키 생성 시, 액세스 키 생성 창을 닫은 이후에는 정보를 다시 조회할 수 없습니다. 해당 정보를 복사하여 클립보드에 저장 후 별도로 관리하시기 바랍니다.
네트워크 환경 구축
카카오클라우드에서 컴퓨팅 환경을 구축하기 위해, 우선 네트워크 환경 설정이 필요합니다. 이를 위해, 다중 가용 영역에서 NAT 인스턴스를 이용한 네트워크 구축을 참조하여 쿠버네티스 클러스터 생성을 위한 네트워크 환경을 구축하세요. 이 문서는 private 서브넷에서도 인터넷에 안전하게 연결할 수 있도록 NAT 인스턴스 생성 방법을 설명합니다. 이 문서에서 설명하는 네트워크 설정은 다중 가용 영역에서 NAT 인스턴스를 이용한 네트워크 구축 문서에서 정한 값에 기반합니다.
예제 프로젝트 컨테이너 이미지 배포
튜토리얼을 진행하기 위해서 예제 프로젝트를 사용합니다. 다음 문서 Container Registry를 이용한 이미지 저장 및 사용를 확인하여 예제 프로젝트의 컨테이너 이미지를 카카오클라우드 Container Registry에 배포합니다.
Step 1. 쿠버네티스 클러스터 생성하기
Kubernetes Engine은 VPC 기반의 관리형 쿠버네티스 서비스입니다. 복잡한 수작업 클러스터 생성/관리 절차 없이 손쉽게 쿠버네티스 클러스터를 생성하고 관리할 수 있습니다. 이 단계에서는 카카오클라우드 콘솔에 로그인하여 서비스 구성에 필요한 리소스를 직접 생성합니다. 카카오클라우드에서는 콘솔을 통해 쉽게 쿠버네티스 클러스터를 생성하는 방법은 다음과 같습니다.
-
카카오클라우드 콘솔 > Container Pack > Kubernetes Engine > 클러스터 목록 화면에서 [클러스터 생성] 버튼을 클릭합니다.
-
아래 내용을 참조하여 생성할 클러스터 정보와 VPC를 설정합니다.
구분 항목 설정/입력값 기본 설정 클러스터 이름 tutorial Kubernetes 버전 1.26 클러스터 Network 설정 VPC tutorial 서브넷 - main
-{VPC_ID}
_sn_1
-{VPC_ID}
_sn_2
-{VPC_ID}
_sn_6 -
클러스터 목록 화면에서 [생성한 클러스터] > [노드 풀] 탭에서 [노드 풀 생성] 버튼을 클릭합니다.
-
아래 내용을 참조하여 노드 풀을 생성합니다.
노드 풀 유형 인스턴스 유형 볼륨 노드 수 Virtual Machine m2a.large 50 2
Step 2. kubectl로 쿠버네티스 API 호출하기
쿠버네티스 커맨드 라인 도구인 kubectl으로 명령어를 실행하여 쿠버네티스 API를 호출합니다. 클러스터와의 모든 상호작용은 제어 영역에 있는 쿠버네티스 API 서버에 API 호출을 통해 수행됩니다.
kubectl 설치하기
kubectl을 사용하기 위해 먼저 설치를 진행합니다. 사용자 환경에 따라 설치를 진행해 주시기 바랍니다.
- Mac
- Linux(Ubuntu)
-
Homebrew 패키지 매니저를 이용하거나,
curl
명령어를 이용하여 설치합니다.Homebrew 이용brew install kubectl
curl 이용(Intel)curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"