k8s(쿠버네티스)에 대한 간단한 설명

  • 쿠버네티스는 "컨테이너화된 애플리케이션"을 배포, 관리, 확장 할때 수반되는 다수의 "수동 프로세스를 자동화"하는 오픈소스 "컨테이너 오케스트레이션 플랫폼"이다.

컨테이너 오케스트레이션이 하는일

1. 프로비저닝 및 배포
2. 구성 및 일정 조정
3. 리소스 할당
4. 컨테이너 가용성 체크
5. 로드밸런싱 기반 컨테이너 스케일링
6. 트래픽 라우팅
7. 컨테이너 상세 모니터링
8. 컨테이너 간 상호작용 및 보안

쿠버네티스 주요 구성 요소

  1. 클러스터
    • 컨트롤 플레인 및 하나 이상의 컴퓨팅 머신 또는 노드를 뜻한다.
  2. 컨트롤 플레인
    • 쿠버네티스 노드를 제어하는 프로세스의 컬렉션. 여기에 모든 태스크 할당이 시작된다.
  3. kubelet
    • 노드에서 실행되며, 컨테이너 매니패스트를 읽고, 정의된 컨테이너가 실행중인지 확인한다.
  4. 포드(Pod)
    • 단일 노드에 배포된 하나 이상의 컨테이너 그룹. 포드에 있는 모든 컨테이너는 IP주소.호스트 이름, 기타 리소스 등을 공유한다.

k8s클러스터란?

 작동 중인 쿠버네티스 배포를 클러스터라고 한다.
 클러스터는 컨테이너를 실행하는 호스트 그룹으로, 컨트롤 플레인과 컴퓨팅머신의 2개 부분으로 시각화 할 수 있다.

K8S와 Docker의 관계

 Docker는 쿠버네티스가 오케스트레이션하는 컨테이너의 런타임으로 사용할 수 있다.
 쿠버네티스가 노드에 대해 pod을 예약하면 해당 노드의 kubelet(각 컨테이너의 실행을 보장하는 서비스)가 지정된 컨테이너를 실행하도록 Docker에 명령한다.

 이후, kubelet은 Docker로 부터, 지속적으로 상태를 수집하고 컨트롤 플레인에서 해당 정보를 집계한다.

** 한줄 요약 : docker는 k8s가 시키는데로(이미짜여진대로, 자동으로) 컨테이너를 실행한다.