컨테이너 인프라 환경을 구축하면 눈송이 서버를 방지할 수 있다
컨테이너 인프라 환경 : 리눅스 운영 체제의 커널 하나에서 여러 개의 컨테이너가 격리된 상태로 실행되는 환경
눈송이 서버 : 여러 사람이 만져서 설정의 일관성이 떨어진 서버
가상화 환경 : 하이퍼바이저 - 가상 머신(운영 체제 커널) - 어플리케이션
컨테이너 환경 : 운영 체제 커널 - 컨테이너(어플리케이션)
오케스트레이션 : 복잡한 단계 관리, 요소들의 유기적인 관계 정의를 제공하는 서비스
구성에 대한 참조
워커 머신, 클러스터에 따라 가상 or 물리 머신
노드는 컨트롤 플레인에 의해 관리
노드는 여러개의 파드를 가질 수 있음
쿠버네티스 클러스터에 명령을 내림
바로 실행되는 명령 형태의 바이너리로 배포
구성에 따라 마스터 노드, 워커 노드에 배치할 수 있다
쿠버네티스 클러스터의 중심 역할(통로)
주로 상태 값을 저장하는 etcd 와 통신, 그 밖의 요소들도 API 서버를 통해 통신
모든 구성 요소들의 상태 값을 저장하는 곳
분산 저장이 가능한 key-value 저장소
컨트롤러 매니저에 속한 노드들에 의해 쿠버네티스 클러스터의 오브젝트 상태 관리
노드의 상태, 자원, 레이블, 요구 조건을 고려해 파드를 어떤 노드에 생성할 것인지 결정 및 할당
파드를 조건에 맞는 워커 노드에 지정, 파드가 워커 노드에 할당되는 일정을 관리하는 역할
파드의 구성 내용(PodSpec) 을 받아서 컨테이너 런타임으로 전달
파드 안의 컨테이너들이 정상적으로 작동하는지 모니터링
파드를 이루는 컨테이너의 실행을 담당
하나 또는 그 이상의 애플리케이션 컨테이너 (도커와 같은)들의 그룹을 나타내는 쿠버네티스의 추상적 개념
일부는 컨테이너에 대한 자원을 공유
자원 : 공유 스토리지(볼륨), 네트워킹(클러스터 IP 주소), 컨테이너 동작 방식 정보
쿠버네티스 플랫폼 에서 최소 단위
각 파드는 스케쥴 되어진 노드에게 묶여지고 소멸, 삭제되기 전까지 해당 노드에 유지
노드에 실패 발생 시 다른 노드들을 대상으로 스케쥴링
파드는 언제든지 죽을 수 있는 존재
쿠버네티스 클러스터의 통신을 위한 플러그인(일반적으로 CNI 구성 : Container Network Interface)
네트워크 정책을 정의하여 Pod 의 트래픽을 통제할 수 있음
플러그인 종류 : Calico, Flannel, Cilium, Kube-Router, Romana, WeaveNet, Canal
쿠버네티스 클러스터에서 도메인 이름을 이용해 통신하는데 사용하는 DNS 서버