Link Search Menu Expand Document

쿠버네티스 인사이드

쿠버네티스 구성 요소 확인

쿠버네티스를 이루는 것들

쿠버네티스 인사이드 - 01 쿠버네티스 구성 요소 확인

구역을 나누는 네임스페이스(Namespace)

  • 네임스페이스는 클러스터 내에서 리소스를 격리
  • kubectl get resource -n namespace 명령어로 다른 네임스페이스의 리소스를 조회 가능

쿠버네티스 인사이드 - 02 쿠버네티스 구성 요소 확인

쿠버네티스의 기본 철학

  • 마이크로서비스 아키텍처(MSA, Microservices Architecture)
    • 개별 서비스가 모두 분리됨

파드가 배포되면?

  • 쿠버네티스 각각의 리소스는 자신의 역할만 수행
  • 선언적인 구조로 상태를 지속적으로 추적

쿠버네티스 인사이드 - 03 쿠버네티스의 기본 철학

선언적인 시스템

쿠버네티스 인사이드 - 04 쿠버네티스의 기본 철학

API 서버와 ETCD

  • API 서버와 ETCD는 선언적인 시스템이 아님

쿠버네티스 인사이드 - 05 쿠버네티스의 기본 철학

실제 쿠버네티스의 파드 배포 흐름

쿠버네티스 인사이드 - 06 실제 쿠버네티스의 파드 배포 흐름

  1. 사용자가 API 서버에 명령을 내림
  2. API 서버는 etcd에 정보를 백업, 문제가 생길 경우 etcd에 기록된 정보를 이용하여 복원
  3. API 서버의 값을 컨트롤러 매니저가 확인하고 업데이트
  4. API 서버의 값을 스케줄러가 확인하고 업데이트
  5. API 서버의 값을 각 워커 노드의 kubelet이 확인
  6. 각 워커 노드의 컨테이너 런타임에 파드 생성 요청
  7. 컨테이너 런타임이 파드를 생성
  8. 각 파드는 kube-proxy를 통하여 사용자와 통신