CS/Cloud

[클라우드] 쿠버네티스, 도커, 레이어

0m1n 2023. 2. 2. 15:28
728x90
반응형

쿠버네티스 : 컴퓨터 클러스터에 어플리케이션을 배치하고 실행을 관리하는 운영 수준의 오픈소스 플랫폼

마스터 노드

  • 모든 관리 작업의 시작점, 쿠버네티스 클러스터 메인 컴포넌트, 워커노드 제어
  • API Server : 쿠버네티스 컴포넌트 허브 역할, RESTful API 제공
  • Scheduler : 각 노드의 리소스 사용률 추적, 생성된 Pod 감시 및 노드가 미할당된 Pod가 실행되도록 Node 선택

워커 노드(슬레이브 노드)

  • Pod가 실행되는 공간, 마스터 노드와 통신하는 에이전트, 도커 등의 컨테이너 런타임 실행
  • kubelet: 쿠버네티스 워커 노드 메인프로세스, 클러스터의 각 노드에서 실행되는 에이전트
  • kube-proxy: 네트워크 프록시와 로드 밸런서 핸들링, TCP 등 네트워크 라우팅 담당
  • Pod: 클러스터에서 실행 중인 하나 이상의 컨테이너 그룹, 사용자가 생성 및 배포하는 객체 모델 중 가장 작고 최소의 단위

도커

  • 컨테이너 기반의 오픈소스 가상화 플랫폼
  • 컨테이너는 격리된 공간에서 프로세스가 동작하는 기술
  • 이미지 기반 기술
    • 컨테이너 실행에 필요한 파일과 설정 값 등을 포함하는 것

레이어

  • 가상화의 특성상 이미지는 용량이 크고 여러대의 서버에 배포하는 것을 감안하기 위해 레이어라는 개념으로 설계
  • Control Plane
    • 클러스터의 관리 담당
    • 앱 스케일링하거나 변경 반영 등 클러스터 내 모든 활동을 조율
    • 쿠머네티스 API를 제공하며, 노드와 통신하고 사용자도 이를 통신
  • Node
    • 클러스터 내에서 동작하는 VM또는 물리적인 컴퓨팅 자원
    • 노드는 노드를 관리하고 컨트롤 플레인과 통신하는 Kublet이라는 에이전트를 갖음
    • 컨테이너 운영을 담당하는 Containered 또는 도커와 같은 툴도 갖을 수 있음
    • 운영 트래픽을 처리하는 클러스터는 최소 세대의 노드를 가져야 함
  • 디플로이먼트
    • 쿠버네티스가 어플리케이션의 인스턴스를 어떻게 생성하고 업데이트하는 역할은 진행하고 지속적으로 인스턴스를 모니터링
    • 어플리케이션 있는 노드가 다운되거나, 삭제되면 다른 노드로 교체
  • Kubectl
    • 쿠버네티스 CLI를 통해 디플로이먼트를 생성하고 관리
    • 클러스터와 상호작용하기 위해 쿠버네티스 API를 사용
  • Pod(파드)
    • 파드는 하나 또는 그 이상의 어플리케이션 컨테이너들의 그룹
    • 쿠버네티스 플랫폼 상에서의 최소단위
  • 노드
    • 파드는 언제나 노드상에서 동작
    • 노드를 워커 머신이라도 하며, 각 노드는 마스터에 의해 관리
    • 하나의 노드는 여러 개의 파드를 가질 수 있고, 쿠버네티스 마스터는 클러스터 내 노드를 관리
    • Kubelet : Kubelet은 쿠버네티스 마스터와 노드 간 통신을 책임지는 프로세스이며, 하나의 워커 상에서 동작하는 파드와 컨테이너를 관리
728x90
반응형