쿠버네티스 인사이드
쿠버네티스 구성 요소 확인
쿠버네티스를 이루는 것들
구역을 나누는 네임스페이스(Namespace)
- 네임스페이스는 클러스터 내에서 리소스를 격리
kubectl get resource -n namespace
명령어로 다른 네임스페이스의 리소스를 조회 가능
쿠버네티스의 기본 철학
- 마이크로서비스 아키텍처(MSA, Microservices Architecture)
파드가 배포되면?
- 쿠버네티스 각각의 리소스는 자신의 역할만 수행
- 선언적인 구조로 상태를 지속적으로 추적
선언적인 시스템
API 서버와 ETCD
- API 서버와 ETCD는 선언적인 시스템이 아님
실제 쿠버네티스의 파드 배포 흐름
- 사용자가 API 서버에 명령을 내림
- API 서버는 etcd에 정보를 백업, 문제가 생길 경우 etcd에 기록된 정보를 이용하여 복원
- API 서버의 값을 컨트롤러 매니저가 확인하고 업데이트
- API 서버의 값을 스케줄러가 확인하고 업데이트
- API 서버의 값을 각 워커 노드의 kubelet이 확인
- 각 워커 노드의 컨테이너 런타임에 파드 생성 요청
- 컨테이너 런타임이 파드를 생성
- 각 파드는 kube-proxy를 통하여 사용자와 통신