kubernetes 설치

2020. 2. 13. 18:08devops/kubernetes

쿠버네티스를 사용해보기 전에 설치해보겠습니다. 쿠버네티스는 도커와 다르게 사용환경에 따라서 다양합니다. 개인 개발 용도로는 별도의 어려움 없이 쉽게 설치할 수 있지만 실제 운영 단계에서는 AWS, GKE 등의 클라우드 환경에서 수십 개의 서버에 동시에 쿠버네티스를 설치해야할 수 있습니다. 

 

개발 용도의 쿠버네티스 설치 Minikube
Docker for mac/Windows에 내장된 쿠버네티스
서비스 테스트 또는 운영 용도의 큐버네티스 설치

kops

kubespray

kubeadm

EKS(Amazon), GKE(Google) 등의 관리 서비스

필자는 Docker for mac을 설치했으므로 별다른 설치 없이 쿠버네티스를 사용할 수 있습니다. 또는 minikube를 통해 virtual box와 같은 가상화 환경에서 쉽게 설치할 수 있습니다. 

 

그렇지만 standalone 모드로 사용하기 때문에 쿠버네티스의 기능을 완전히 사용해볼 수 없습니다. 쿠버네티스는 여러 클라우드의 서버 자원을 클러스터링해 컨테이너를 배치하는 것이 쿠버네티스의 핵심 기능입니다. 하지만 한개의 클라우드만으로는 이와 같은 기능을 확인할 수 없습니다. 

 

그래서 개인 개발용도가 아닌 실제로 서비스를 운영하기 위해서는 첫 번째 클라우드 플랫폼 환경, 두 번째 자체적으로 보유한 서버환경이 필요합니다. 

 

- 자체 서버를 이용

직접 서버를 구비하여 사용하면 쿠버네티스를 포함한 모든 인프라를 직접 관리해야 합니다. 모든 설정들을 상세하게 할 수 있느 점이 장점이지만 유지보수하기가 귀찮아 진다는 단점도 있습니다. kubespray, kubeadm 등을 이용해 설치할 수 있습니다. 

 

- 클라우드 플랫폼에서 쿠버네티스 설치

클라우드를 사용하려면 또 다시 선택을 해야합니다. 서버 인스턴스만을 사용하여 쿠버네티스를 설치할지, 쿠버네티스 자체를 서비스로 제공하는 매니지드 서비스를 사용할지 선택해야합니다.

 

 인스턴스 만을 사용하는 것은 AWS, GCP와 같은 클라우드 제공자에게 맡기되 쿠버네티스는 직접 설치 및 관리합니다. 

 

쿠버네티스 자체를 클라우드 서비스로서 사용

AWS의 EKS, GCP의 GKE 등의 매니지드 서비스를 이용해 쿠버네티스를 관리하면 설치부터 관리까지 클라우드 제공자가 담당하므로 유지보수 불편함이 줄어듭니다. 위와 같은 서비스를 이용하면 쿠버네티스를 설치할 필요없이 실제 서비스 환경을 구성할 수 있습니다. 

 

아마존 EKS

https://aws.amazon.com/ko/eks/

 

Amazon EKS – 관리형 Kubernetes 서비스

Amazon Elastic Kubernetes Service(Amazon EKS)는 완전관리형의 Kubernetes 서비스입니다. Intel, Snap, Intuit, GoDaddy, Autodesk와 같은 고객들은 가장 중요한 미션 크리티컬 애플리케이션을 실행하는 데 EKS를 사용할 만큼 신뢰합니다. 이유는 보안, 안정성 및 확장성 때문입니다. EKS는 여러 이유로 Kubernetes를 실행하는 가장 좋은 솔루션입니다. 첫째로 컨테이너를 위한 서버리스

aws.amazon.com

GCP GKE

https://cloud.google.com/kubernetes-engine

 

Kubernetes Engine  |  Google Cloud

Google Kubernetes Engine(GKE)은 컨테이너화된 애플리케이션 실행을 위한 관리형 환경으로서 프로덕션에 즉시 사용할 수 있습니다.

cloud.google.com

 

 

Docker for Mac / Windows에서 쿠버네티스 사용 

 

필자와 같이 Docker for Mac / Windows로 도커를 설치했다면 쿠버네티스를 별도로 설치하지 않아도 됩니다. 

Mac 기준 Preferences를 선택 Kubernetes 선택

위와 같이 접속한 뒤 Enable Kubernetes를 누르기하면 설치됩니다. 바로 사용할 수 있는 것이 아니라 쿠버네티스와 관련된 도커 이미지들을 내려받기 때문에 시간이 조금 소요될 수 있습니다. 설치가 완료되면 아래 명령어를 통해 설치된 kubernetes의 정보를 확인할 수 있습니다. 

kubectl version --short