# kubernetes intro

안규원·2024년 9월 30일
0

Infra

목록 보기
23/23

Kubernetes


컨테이너화된 애플리케이션을 자동으로 배포, 확장, 관리하는 오픈소스 플랫폼
클러스터 형태로 여러 노드에 걸쳐 애플리케이션을 배포/관리

Minikube


로컬 환경에서 쿠버네티스 클러스터를 실행할 수 있는 경량 툴
실습이나 테스트 목적으로 개발된 단일 노드 쿠버네티스 클러스터를 제공

kubectl


쿠버네티스 클러스터와 상호작용할 수 있는 CLI 툴
클러스터 내 리소스를 관리하는 명령어 제공

  • 파드 생성
  • 배포 관리
  • 클러스터 상태 확인

Minikube는 로컬에서 쿠버네티스 클러스터를 실행하고, kubectl은 그 클러스터를 관리하기 위한 명령어이다. 즉, minikube가 클러스터를 제공하고, kubectl은 그 클러스터를 제어하는 도구임. Minikube를 실행한 후, kubectl을 통해 클러스터의 리소스를 관리

Cluster


쿠버네티스 리소스를 관리하는 전체 시스템

  • 여러 노드가 모여 하나의 클러스터를 형성하며, 각 노드에서 파드를 실행
  • 여러 서버(노드)를 묶어 애플리케이션을 효율적으로 배포/관리
  • 마스터 노드가 클러스터 전체를 관리하며, 노드에 파드를 배치하는 작업을 수행
  • 클러스터는 애플리케이션이 항상 안정적이고 확장 가능하도록 보장하는 구조

Node


노드는 클러스터에 속한 VM

  • 쿠버네티스 에이전트(예: kubelet)를 실행하며, 파드를 관리하고 모니터링
  • 하나의 노드는 여러 개의 Pod을 실행할 수 있는 컴퓨팅 리소스 제공
  • 마스터 노드의 명령을 받아 애플리케이션을 담고 있는 파드 실행/상태 보고
  • 실제로 컨테이너(파드)를 실행하는 일종의 작업자(worker) 서버

Pod

쿠버네티스에서 가장 작은 배포 단위

  • 보통 하나의 파드에는 하나의 컨테이너가 있지만, 여러 컨테이너를 하나의 파드에 묶을 수도 있음
  • 파드는 동일한 네트워크 공간(IP 주소)를 공유하며, 컨테이너들 간 통신 가능
  • 특정 애플리케이션이나 서비스의 인스턴스를 실행하며, 쿠버네티스가 이를 관리
  • 노드에 배포되어 실제로 애플리케이션이 실행되는 작은 단위

0개의 댓글