티스토리 뷰

728x90
반응형

가장 기초가 되는 도커 컨테이너를 다루기 위해 도커 엔진을 공부했고, 여러 대의 도커 엔진을 효율적으로 관리하기 위해 도커 스윔의 개념과 사용 방법을 다뤘다. 그리고 여러 종류의 컨테이너를 YAML 파일로 선언적으로 정의해 생성할 수 있는 도커 컴포즈의 사용 방법 또한 알아봤다. 이러한 프로젝트들의 개념을 한군데로 모아 사용할 수 있는 더욱 훌륭한 프로젝트가 바로 쿠버네티스다.

그리스어로 조타수라는 뜻의 쿠버네티스는 오늘날 사실상 표준으로 사용되고 있는 컨테이너 오케스트레이션 도구이다.

쿠버네티스는 도커 스웜 모드처럼 여러 대의 도커 호스트를 하나의 클러스터로 만들어 준다는 점은 같지만, 세부적인 기능을 더욱 폭넓게 제공하고 있다.

쿠버네티스의 장점

  • 서버 자원 클러스터링, 마이크로서비스 구조의 컨테이너 배포, 서비스 장애 복구 등 컨테이너 기반의 서비스 운영에 필요한 대부분의 오케스트레이션 기능을 폭넓게 지원한다.
  • 구글, 레드헷을 비롯한 많은 오픈소스 진영에서 쿠버네티스의 소스코드에 기여하고 있기 때문에 성능과 안정성 면에서 신뢰 받는다.
  • Persistent Volume, 스케줄링, 장애 복구, 오토 스케일링, 서비스 디스커버리 및 인그레스 등 컨테이너 기반의 클라우드를 운여할 때 대부분의 기능과 컴포넌트를 사용자가 직접 커스터마이징 할 수 있다.
  • CNCF(Cloud Native Compting Foundation) 및 다른 클라우드 운영 도구들과 쉽게 연동되므로 확장성이 높다.



쿠버네티스 설치

쿠버네티스 설치 환경의 종류

쿠버네티스는 도커 엔진과 달리 사용 환경과 목적에 따라 설치하는 방법이 매우 다양하고 복잡하다.

example

개발 용도의 쿠버네티스는 로컬 노드를 standalone 모드로 사용하기 때문에 쿠버네티스의 기능들을 완벽하게 사용해보기에는 적합하지 않다는 단접이 있다. 여러 서버의 자원을 클러스터링해 컨테이너를 배치하는것이 쿠버네티스의 핵심 기능인데, 1개의 노드로는 이러한 핵심 기능을 확인해 볼 수 없기 때문이다.

개발 용도가 아닌, 실제 서비스 테스트 또는 운영 용도로 쿠버네티스를 사용하려면 어떠한 환경에서 쿠버네티스를 설치할 것인지를 먼저 결정해야 한다. 쿠버네티스의 환경은 크게 두 가지 종류로 나뉜다. 첫 번째는 AWS, GKE 등의 클라우드 플랫폼 환경이고, 두 번째는 자체적으로 보유한 온프레미스 서버 환경이다.

example

example



개발 용도의 쿠버네티스 설치

Minikube로 쿠버네티스 설치

가상 머신이나 도커 엔진을 통해 쿠버네티스를 사용할 수 있는 환경을 제공한다. 실제 운영 환경에서 적용하기는 힘들고 쿠버네티스의 몇몇 기능을 사용할 수 없다는 단점이 있다.

Minikube는 가상 머신 또는 도커를 통해 쿠버네티스를 설치하기 때문에 virtual box나 도커 엔진이 미리 설치돼 있어야 한다.

도커로 minikube 설치

ubuntu server(amd)에 minikube, kubectl을 설치해보자. minikube 오픈소스에서 릴리즈를 확인하고 v1.21.0에 최신 릴리즈를 적는다. kubectl도 마찬가지로 릴리즈를 확인하고 밑에서 릴리즈만 고쳐준다. 21년 6월 26일 현재 각각 1.21, 1.22의 버전이 나와있다.

$ curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.21.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

$ curl -Lo kubectl http://storage.googleapis.com/kubernetes-release/release/v1.22.0/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/

도커 엔진으로 minikube 설치하자.

$ minikube start --vm-driver=none

지금 가상 머신에 ubuntu가 있다면 옵션을 주지 않아도 도커엔진으로 설치한다. 잘 설치가 되었는지 버전을 확인한다.

$ kubectl version --short 

minikube 삭제시에는 minikube delete 명령어를 사용하면 된다.

쿠버네티스를 설치하는 또 다른 방법들

kubeadm 관리 도구로 1개의 마스터와 3개의 워커 노드로 구성된 쿠버네티스 클러스터를 설치할 수도 있다(총 서버 4개).

kops는 클라우드 플랫폼에서 쉽게 쿠버네티스를 설치할 수 있도록 도와주는 도구이다. 서버 인스턴스와 네트워크 리소스 등을 클라우드에서 자동으로 생성해 쿠버네티스를 설치한다. 따라서 클라우드 플랫폼의 세부적인 리소스에 익숙하지 않더라도 쉽게 서버 인프라를 프로비저닝해 쿠버네티스를 설치할 수 있다는 것이 특징이다.

kubeadm이나 kops로 쿠버네티스를 설치하는 것이 너무 어렵게 느껴진다면 쿠버네티스의 설치부터 관리까지 전부 클라우드 서비스로서 제공하는 EKS, GKE 등의 매니지드 서비스를 사용하는 것도 하나의 선택지가 될 수 있다.





출처
시작하세요! 도커/쿠버네티스(용찬호 저, 위키북스)
example

728x90
반응형
댓글
반응형
250x250
글 보관함
최근에 달린 댓글
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Total
Today
Yesterday
링크