K8s 동작 flow

k8s 동작 flow

 

kubernetes 애플리케이션 실행

  • 하나이상의 컨테이너 이미지들을 패키지로 레지스트리에 푸시
  • 쿠버네티스 API 서버에 애플리케이션의 디스크립션(yaml or json) 게시하여 pod를 생성수행 명령

 

 

 

마스터노드와 워커노드의 구성과 통신 구조(쿠버네티스 입문 90가지 예제로 배우는 컨테이너 관리자동화 표준 책 참고)

 

 

master node 컴포넌트

  • 역할 및 특징
    • 클러스터 관리, HA, 보통 애플리케이션을 해당 master node에서는 실행하지는 않음
  • 컴포넌트들 - 관리용 컴포넌트들은 컨네이너로 실행/ 하이퍼큐브라는 바이너리 파일로 컴파일되어있음.
    1.  kubelet
      • 마스터에 있는 Docker 관리
    2. kube-apiserver
      • K8s의 모든 통신의 중심
      • k8s API를 사용하도록 요청을 받고 요청이 유효한지 검사
      • etcd는 kube-apiserver를 통해서만 접근 할 수 있다.
    3. kube-scheduler
      • 현재 클러스터안에서 자원할당이 가능한 노드중 알맞은 노드를 선택
    4. kube-controller-manager
      • 구성요소 복제, 워커 노드추적, 노드 장애 처리등 클러스트 수준 기능을 실행
      • 파드를 관찰하며 개수를 보장
    5. kube-proxy
      • k8s의 network 동작을 관리
      • iptables
    6.  etcd
      • 클러스터 구성을 지속적으로 저장하는 안정적인 분산
      • 고가용성을 제공하는 키-값 저장소
      • worker node들의 상태정보
      • 서버당 1 프로세스만 사용가능
      • 별도의 프로세스로 실행
    7. 애드온
      1. 네트워크 애드온
        • CNI - weave, calico, flaneld 등
      2. dns 애드온
        • coreDNS
      3. 대시보드 애드온
      4. 컨테이너 자원 모니터링
        • cAdvisor
      5. 클러스터 로깅
        • ELK, EFK, DataDog

 

 

Worker node 컴포넌트

  1. kubelet
    • 모든 노드에서 실행되는 ks8 에이전트 데몬
    • cAdvisor
      • 컨테이너 모니터링 툴 
      • 컨테이너 기반의 상태정보 및 H/W 정보를 수집하여 Master node에 전달하고 해당 정보는 etcd에 저장된다
  2. kube-proxy
    • k8s의 network 동작을 관리
    • iptables
  3. container runtime
    • 컨테이너를 실행하는 엔진
    • docker or containerd or runc 등

'클라우드 > K8s' 카테고리의 다른 글

K8s namespaces  (0) 2022.03.17
K8s Pod 구성패턴  (0) 2022.03.17
POD  (0) 2022.03.17
Single Master K8s 설치 및 기본 명령어  (0) 2022.03.17
Kubernetes?  (0) 2022.03.17

+ Recent posts