i.am.developer

Minikube를 사용해서 클러스터 생성하기 본문

프로그래밍/Kubernetes

Minikube를 사용해서 클러스터 생성하기

jongwow 2019. 4. 2. 01:20
출처 : https://kubernetes.io/ko/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro/#%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0-%EB%8B%A4%EC%9D%B4%EC%96%B4%EA%B7%B8%EB%9E%A8

목표

  • 쿠버네티스 클러스터가 무엇인지 배운다.
  • Minikube가 무엇인지 배운다.
  • 온라인 터미널을 사용해서 쿠버네티스 클러스터를 시작한다.

 


쿠버네티스 클러스터

쿠버네티스는 서로 연결되어서 단일 유닛처럼 동작하는 고가용성의 컴퓨터 클러스터를 상호조정한다. 애플리케이션을 개별 호스트에 결합되지 않는 방식으로 패키지하는 것 = 컨테이너화. 컨테이너화된 애플리케이션은 호스트에 매우 깊이 통합된 패키지로서, 특정 머신에 직접 설치되는 예전의 배포 모델보다 유연하고 가용성이 높다.

 

쿠버네티스는 애플리케이션 컨테이너를 클러스터에 분산시키고 스케줄링하는 일을 보다 효율적으로 자동화한다.

 

쿠버네티스 클러스터는 두 가지 형태의 자원으로 구성된다.

  • 마스터 : 클러스터를 상호 조정한다.
  • 노드 : 애플리케이션을 구동하는 작업자이다.
쿠버네티스는 컴퓨터 클러스터에 걸쳐서 애플리케이션 컨테이너의 위치(스케줄링)와 실행을 오케스트레이션 하는 운영 수준의 오픈소스 플랫폼이다.

클러스터 다이어그램

마스터는 클러스터 관리를 담당한다. 애플리케이션을 스케쥴링하거나 애플리케이션의 항성성을 유지하거나 애플리케이션을 스케일링하고 새로운 변경사항을 순서대로 반영하는 일과 같은 클러스터 내 모든 활동을 조율한다.

 

노드는 쿠버네티스 클러스터 내 워커 머신으로서 VM 또는 물리적인 컴퓨터이다. 각 노드는 노드를 관리하고 쿠버테니스 마스터와 통신하는 Kubelet이라는 에이전트를 갖는다. 노드는 컨테이너 운영을 담당하는 Docker 또는 rkt와 같은 툴도 갖는다. 운영 트래픽을 처리하는 쿠버네티스 클러스터는 최소 세 대의 노드를 가져야 한다.

 

마스터는 클러스터를 관리하고 노드는 구동되는 애플리케이션을 수용하는 데 사용된다.

애플리케이션을 쿠버네티스에 배포한다는 것은, 마스터에 애플케이션 컨테이너를 구동하라고 지시하는 것이다. 마스터는 컨테이너를 클러스터의 어느 노드에 구동시킬지를 스케줄한다. 노드가 마스터가 제공하는 쿠버네티스 API를 통해서 마스터와 통신한다. 최종 사용자도 쿠버네티스 API를 직접 사용해서 클러스터와 상호작용할 수 있다.

 

쿠버네티스 클러스터는 물리 및 가상 머신 모두에 설치될 수 있다. 쿠버네티스 개발을 시작하려면 Minikube를 사용할 수 있다. Minikube는 로컬 머신에 VM을 만들고 하나의 노드로 구성된 간단한 클러스터를 배포하는 가벼운 쿠버네티스 구현체이다. Minikube는 리눅스, 맥, 그리고 윈도우 시스템에서 구동이 가능하다. Minikube CLI는 클러스터에 대해 시작, 중지, 상태 조회 및 삭제 등의 기본적인 부트스트래핑 기능을 제공한다. 하지만 본 튜토리얼에서는 Minikube가 미리 설치된 채로 제공되는 온라인 터미널을 사용할 것이다.

 

 

 

'프로그래밍 > Kubernetes' 카테고리의 다른 글

쿠버네티스 기초 학습  (0) 2019.04.02
쿠버네티스란?  (0) 2019.03.05