[CKA] 1. Core Concepts (1)

Sangmin Yoon·2021년 7월 9일
1

1. Kubernetes Overview

  • Kubernetes Architecture는 Master Node와 Worker Nodes로 이루어져 있다.
  • Master Node는 etcd cluster / kube-apiserver / kube controller manager / kube-scheduler로 이루어져 있다.
  • Worker Node는 Container Running Engine / kubelet / kube-proxy로 이루어져 있다.

2. etcd

  • etcd는 분산 시스템에서의 key-value 저장소이다.
  • Kuberenetes에서 etcd는 아래와 같은 정보들이 저장되는 보관소이다.
  • kubeadm을 이용해 클러스터를 생성하면 아래와 같이 etcd가 자동으로 생성된다.
  • High Availability 환경에서는 etcd가 서로 정보를 교환할 수 있도록 아래와 같이 세팅을 해주어야 한다.

3. Kube-api server

  • kube-apiserver는 모든 변경사항에 관여한다. 아래의 6가지 일을 관장하며, etcd cluster에 접근할 수 있는 유일한 모듈이다.

4. Kube-Controller-Manager

  • Controller는 components의 status를 지속적으로 체크하고, status에 문제가 생긴 경우 이를 해결하고 복구한다.
  • 이 모든 기능이 Kube-Controller-Manager 하나에 모여 있다.
  • 아래와 같은 옵션들을 조정할 수 있다.

5. Kube-Scheduler

  • Scheduler는 오직 어느 pod가 어느 node에 가는지만 정하고 실제로 pod를 생성하는 것은 worker node의 kubelet.

6. Kubelet

  • Master node와 통신하는 주체. 노드를 생성하고, pod을 생성하고 감시한다.

7. Kube-proxy

  • Pod들은 내부 네트워크에 의해 서로 접근할 수 있다.
  • Service는 K8s memory에 존재하는 가상의 존재이며, kube-proxy는 각 pod에 있다.

0개의 댓글