데이터 엔지니어링/K8s

[K8s] 쿠버네티스 노드(Node) 컴포넌트

pythaac 2022. 5. 13. 18:48

https://kubernetes.io/ko/docs/concepts/overview/components/

 

쿠버네티스 컴포넌트

쿠버네티스 클러스터는 컴퓨터 집합인 노드 컴포넌트와 컨트롤 플레인 컴포넌트로 구성된다.

kubernetes.io

 

  • 정의
    • 동작 중인 pod를 유지시키고 쿠버네티스 런타임 환경을 제공
    • 모든 노드 상에서 동작

 

kubelet

  • Cluster의 각 Node에서 실행
  • 역할
    • Pod에서 컨테이너가 확실하게 동작하도록 관리
    • 제공된 PodSpec의 집합을 받아 컨테이너가 이에 따라 건강하게 동작하는 것을 확실히 함
    • 쿠버네티스를 통해 생성되지 않은 컨테어는 관리하지 않음

 

kube-proxy

  • Cluster의 각 Node에서 실행되는 네트워크 프록시
  • 쿠버네티스의 Service 개념의 구현부
    - Servcie : 네트워크 서비스로 Pod 집합에서 실행 중인 애플리케이션을 노출하는 방법
  • 역할
    • Node의 네트워크 규칙을 유지/관리
      - 이 네트워크 규칙으로 내부 네트워크 세션 / Cluster 바깥에서 pod로 통신 가능
      - 한마디로 Cluster의 네트워크 관리
    • OS에 가용한 패킷 필터링 계층이 있으면 사용
      - 없으면 트래픽 자체를 포워딩

 

컨테이너 런타임

  • 컨테이너 실행을 담당하는 소프트웨어
  • 모든 Kubernetes CRI (컨테이너 런타임 인터페이스) 구현체 지원
    - containerd, CRI-O