Container Orchestration - 4. kubernetes install

2020-02-26

Index


  1. Docker
    1. Docker 개념
    2. Docker Install
    3. Docker Command
    4. Docker Example
    5. Image 만들기
    6. Dockerfile
    7. Docker Compose
    8. Image 저장소

  1. Container Orchestration
    1. Container Orchestration 이란
    2. kubernetes(1)
    3. kubernetes(2)
    4. kubernetes install
    5. kubernetes ui
    6. kubernetes를 이용해 배포해보기
    7. kubectl CLI

  1. Provisioning
    1. Provisioning이란
    2. Ansible
    3. Ansible을 이용해 kubernetes cluster 생성하기

목표

쿠버네틱스에 대한 개념을 살펴봤습니다. 이번엔 직접 설치해서 어떻게 작동하는지 확인해 보겠습니다.

쿠버네티스 클러스터 중 가장 쉽게 접할 수 있는 건 Minikube 입니다. 하지만 Minikube 는 Master 하나로 이루어져 있어 부족한 점이 많습니다. 쿠버네티스의 다양한 기능을 살펴보려면 Master 노드와 Worker 노드 여러 개로 이루어진 실제 클러스터 환경을 구성할 필요가 있습니다.

쿠버네티스 클러스터를 구성하는 것이 간단한 일은 아닙니다. 그래서 개발자들이 처음 쿠버네티스 클러스터를 구성할 때 많은 어려움을 겪습니다. 하지만 쿠버네티스에서 제공하는 kubeadm이라는 툴을 이용하면 비교적 쉽게 설치할 수 있습니다.

앞써 쿠버네티스의 클러스터 구조를 확인했습니다.
Pod(Container)가 실행되는 Node와 Node를 제어하는 Master가 있습니다. Master 는 cpu가 최소 2core 이상이어야 합니다.

1. 준비하기

Master 1대와 Node 2대로 구성해서 설치 해보겠습니다. (테스트는 개인 GCP 를 사용했습니다.)

2. Install

2.1 사전작업

모든 설치 과정은 root 권한으로 진행합니다.
master node-1 node-2 공통 작업입니다.

1
sudo su -

2.2 k8s 설치

2.3 Pod network add-on 설치

Pod 은 실제로 여러 노드에 걸쳐 배포되는데, Pod 끼리는 하나의 네트워크에 있는 것처럼 통신할 수 있습니다. 이를 오버레이 네트워크(Overlay Network)라고 합니다.

오버레이 네트워크를 지원하는 CNI(Container Network Interface) 플러그인을 설치해보겠습니다. CNI 에는 여러 종류가 있는데, 이번 실습에서는 Weave 를 이용합니다.

3. 설치 확인하기

참고

https://futurecreator.github.io/2019/02/25/kubernetes-cluster-on-google-compute-engine-for-developers/