[kubernetes] 기초 개념 및 주요 컴포넌트

Mr.Song·2022년 5월 16일
0

Docker / Kubernetes

목록 보기
2/13

쿠버네티스 컴포넌트는 세 가지로 구분된다.

클러스터 관리용 Master용 컴포넌트, Node용 컴포넌트, 필수는 아니지만 선택적으로 추가할 수 있는 애드온 컴포넌트

1. Master용 컴포넌트

  • etcd
    • key - value 타입의 저장소
    • etcd는 서버 하나 당 프로세스 1개만 구성할 수 있음
    • 일반적으로 etcd 자체를 클러스터링 한 후 여러 개 마스터 서버에 분산해서 실행하여 데이터의 안정성을 보장하도록 구성한다.
      쿠버네티스를 더 안정적으로 운영하려면 etcd 데이터를 주기적으로 백업한다
  • kube-apiserver
    • 쿠버네티스 클러스터의 API 컴포넌트
    • 클러스터로 온 요청이 유효한지 검증 후 실행한다
    • 여러 마스터 서버에 여러 개의 apiserver를 확장하여 사용할 수 있음
  • kube-scheduler
    • 현재 클러스터 안에서 자원 할당이 가능한 노드 중 알맞는 노드를 선택해 새로운 파드를 생성한다
  • kube-controller
    • 쿠버네티스 파드들을 관리하는 컨트롤러 컴포넌트

2. Node용 컴포넌트

  • kubelet
    • 클러스터 안 모든 노드에서 실행되는 에이전트 컴포넌트
    • 파드 컨테이너들의 실행을 직접 관리
    • 파드스펙이라는 조건이 담긴 설정을 전달받아서 컨테이너를 실행하고, 정상적으로 실행하는지 상태체크를 한다.
  • kube-proxy
    • 가상 네트워크의 동작을 관리하는 컴포넌트
    • 클러스터 안에 별도의 가상 네트워크를 설정하고 관리한다.
    • 호스트의 네트워크 규칙을 관리하거나 연결을 전달할 수 있음
  • 컨테이너 런타임
    • 실제로 컨테이너를 실행시키는 컴포넌트
    • 일반적으로 많이 알려진 도커, containerd, runc 같은 런타임을 지원한다

3. 애드온 컴포넌트

  • network 애드온
  • dns 애드온
  • 대시보드 애드온
  • 컨테이너 자원 모니터링
  • 클러스터 로깅
profile
정리를 못하면 기록이라도 하자!!

0개의 댓글