DevOps/Kubernetes

[ 쿠버네티스 입문: 90가지 예제로 배우는 컨테이너 관리 자동화 표준 ] Chapter02. 쿠버네티스 설치하기

noahkim_ 2021. 7. 21. 10:14

2.3 클라우드 서비스에서 제공하는 쿠버네티스 도구

  1. 구글 쿠버네티스 엔진(GKE)
  2. 아마존 쿠버네티스 일래스틱 컨테이너 서비스(Amazon EKS)
  3. 애저 쿠버네티스 서비스

 

2.4 쿠버네티스 클러스터를 직접 구성하는 도구

  1. kubeadm

쿠버네티스에서 공식 제공하는 클러스터 생성/관리 도구

고가용성을 제공하는 클러스터 구성 가능

 

여러 대의 마스터 노드를 구성하고 그 앞에 로드밸런서를 둠.

워커 노드들이 마스터노드에 접근할 때는 로드밸런서를 거쳐 접근함

-> 마스터 노드 1대에 장애 발생하더라도 다른 마스터 노드로 접근할 수 있게 해서 클러스터의 신뢰성을 유지함

 

etcd클러스터를 마스터 노드와 함께 설치해서 운용하는 방식

 

  • CNI (Container Network Interfaces)

1. 칼리코

2. 위브넷

  • 클러스터 구성

  • Master Node

1.  API Server : 쿠버네티스 API 노출하는 컴포넌트. (REST API)

2. Etcd : 분산 Key-Value store, 모든 클러스터 데이터를 담음

3. Scheduler : 노드가 배정되지 않은 새로운 Pod 감지하고 알고리즘에 따라 그것이 구동될 노드를 선택하고, API Server 통지함

4. Controller Manager : 컨트롤러를 구동 / 관리함. 

  • Worker Node

Control plane에서 스케줄링되는 Pod들이 생성됨.

 

1.Kubelet : 노드에서 실행되는 agent. pod에서 컨테이너가 확실하게 동작하도록 관리함. API Server 모니터링하며 해당 Node scheduling되는 pod 감지하고 pod에서 container 실행시킴

2.Kube proxy : 노드에서 실행되는 네트워크 프록시. 노드의 네트워크 규칙을 유지/관리함.