클러스터 만들기
클러스터 만들기 (Create a Cluster)
출처: 문서
본문
목표 (Objectives)
- 쿠버네티스 클러스터가 무엇인지 배운다.
- Minikube가 무엇인지 배운다.
- 컴퓨터에서 쿠버네티스 클러스터를 시작한다.
시작하기 전에
이 튜토리얼은 이미 minikube를 설치했다고 가정해요. 설치 지침은 minikube start를 참고하세요.
step 1: Installation의 지침만 실행하세요. 나머지는 이 튜토리얼에서 다룹니다.
kubectl도 설치해야 해요. 설치는 Install tools를 참고하세요.
이 튜토리얼의 셸 명령은 대부분의 Linux·macOS 시스템의 기본 셸(예: bash, zsh, sh)이 지원하는 POSIX 셸 구문을 사용해요. Windows 사용자는 명령을 그대로 실행하려면 Windows Subsystem for Linux (WSL)이나 Git Bash 같은 POSIX 호환 셸을 사용해야 합니다. export, $() 같은 구조를 사용하는 명령은 PowerShell이나 Windows Command Prompt와 호환되지 않습니다.
쿠버네티스 클러스터
쿠버네티스는 컴퓨터 클러스터 안과 걸쳐 애플리케이션 컨테이너의 배치(스케줄링)와 실행을 오케스트레이션하는 프로덕션급 오픈 소스 플랫폼이다.
쿠버네티스는 하나의 단위로 작동하도록 연결된 고가용성 컴퓨터 클러스터를 조정한다. 쿠버네티스의 추상화를 사용하면 애플리케이션을 개별 머신에 특정하게 묶지 않고 클러스터에 컨테이너화된 애플리케이션을 배포할 수 있어요. 이 새로운 배포 모델을 이용하려면 애플리케이션을 개별 호스트에서 분리하는 방식으로 패키징해야 합니다. 즉 컨테이너화되어야 합니다. 컨테이너화된 애플리케이션은 애플리케이션이 호스트에 깊이 통합된 패키지로 특정 머신에 직접 설치되던 과거 배포 모델보다 더 유연하고 사용 가능합니다. 쿠버네티스는 컴퓨터 클러스터에 걸쳐 애플리케이션 컨테이너의 분배와 스케줄링을 더 효율적인 방식으로 자동화한다. 쿠버네티스는 오픈 소스 플랫폼이며 프로덕션 준비가 되어 있습니다.
쿠버네티스 클러스터는 두 가지 유형의 리소스로 구성됩니다:
- **컨트롤 플레인(Control Plane)**은 클러스터를 조정한다.
- **노드(Nodes)**는 애플리케이션을 실행하는 워커다.
클러스터 다이어그램
컨트롤 플레인은 클러스터를 관리하는 책임이 있다. 컨트롤 플레인은 애플리케이션 스케줄링, 애플리케이션의 원하는 상태 유지, 애플리케이션 스케일링, 새 업데이트 롤아웃 같은 클러스터의 모든 활동을 조정합니다.
컨트롤 플레인은 실행 중인 애플리케이션을 호스팅하는 데 사용되는 클러스터와 노드를 관리한다.
노드는 쿠버네티스 클러스터에서 워커 머신 역할을 하는 VM 또는 물리 컴퓨터다. 각 노드는 노드를 관리하고 쿠버네티스 컨트롤 플레인과 통신하는 에이전트인 Kubelet을 가집니다. 노드는 또한 containerd나 CRI-O 같은 컨테이너 작업을 처리하는 도구를 가져야 합니다. 일반적이고 지원되는 배포 모델은 전용 컨트롤 플레인 노드에서 쿠버네티스 컨트롤 플레인 구성 요소를 실행합니다.
쿠버네티스에 애플리케이션을 배포할 때 컨트롤 플레인에게 애플리케이션 컨테이너를 시작하라고 지시합니다. 컨트롤 플레인은 클러스터의 노드에서 컨테이너를 실행하도록 스케줄합니다. kubelet 같은 노드 레벨 구성 요소는 컨트롤 플레인이 노출하는 쿠버네티스 API로 컨트롤 플레인과 통신한다. 최종 사용자도 쿠버네티스 API를 직접 사용해 클러스터와 상호작용할 수 있습니다.
쿠버네티스 클러스터는 물리 또는 가상 머신에 배포될 수 있어요. 쿠버네티스 개발을 시작하려면 Minikube를 사용할 수 있습니다. Minikube는 로컬 머신에 VM을 만들고 단일 노드만 포함하는 간단한 클러스터를 배포하는 경량 쿠버네티스 구현입니다. Minikube는 Linux, macOS, Windows 시스템에서 사용 가능합니다. Minikube CLI는 start, stop, status, delete를 포함해 클러스터 작업을 위한 기본 부트스트래핑 작업을 제공합니다.
minikube 클러스터 만들기
minikube 클러스터를 시작하려면:
minikube start
클러스터 상태를 확인하려면:
minikube status
첫 앱 배포와 쿠버네티스 대시보드 탐색을 포함한 전체 실습은 Hello Minikube 튜토리얼을 참고하세요.