12.01 TIL - Kubernetes 기본 개념

이서준·2025년 12월 1일

TIL

목록 보기
12/24

KuberNetes

쿠버네티스의 특징

  • 컨테이너를 쉽고 빠르게 배포 및 확장하고, 관리를 자동화해주는 오픈소스 플랫폼
  • 컨테이너 중심의 배포
  • Host OS를 공유하므로 OS 설치 작업이 없어 설치가 빠르고 확장성이 좋음
  • VM보다 가벼워 마이그레이션, 백업, 전송이 빠름
  • 가볍고 고속으로 작동

VM vs Container

VM

  • 각각의 OS를 띄우는 구조로 느림
  • 각각의 GuestOS로 Linux, Windows 설치 가능
  • 각각의 VM으로 서로 피해가 없음

Container

  • 한 OS를 공유하는 구조로 빠름
  • Linux OS 설치만 가능
  • 보안적으로 문제가 생길 수 있음
이름예시설명
namespacemnt, pid, net, ipc, uts, user커널에 관련된 영역을 분리
cgroupsmemory, CPU, I/O, network자원에 대한 영역을 분리

Auto Scaling

  • 사용자가 정의한 주기나 이벤트에 따라 서버를 자동으로 생성하거나 삭제
  • 서비스에 사용자가 늘어나는 경우에 원활한 서비스를 위해 서버를 늘림(Scale-In)
  • 다시 여유로운 상황의 되면 오래된 불필요한 서버를 자동으로 줄임(Scale-Out)

Auto Healing

  • 사용 시 일정시간 응답이 없으면 인스턴스 재가동
  • Auto Scaling을 통해 지정된 인스턴스의 최소 대수를 유지

Deployment

  • 의도하는 상태를 설명하고 컨트롤러는 현재 상태에서 의도하는 상태로 비율을 조정하며 변경

구조


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

  • Master: 클러스터 전체를 관리
  • Node: 컨테이너가 배포되는 머신
  • Cluster
    • 노드라고 불리는 머신들의 집합
    • 컨테이너 애플리케이션을 기동
    • Control plane + Worker Node로 구성

기본 명령어

명령어설명
apply원하는 상태를 적용 -f 옵션으로 파일과 함께 사용
get리소스 목록 출력 ex) kubectl get pod, svc, deployment, nodes
describe리소스 상태 자세하게 출력
delete리소스 제거
logs컨테이너의 로그를 보여줌 ex) kubectl logs pod
exec컨테이너에 멸령어를 전달 -it 옵션으로 같이 사용 컨테이너에 접근할 때 주로 사용
configkubectl 설정을 관리

Docker 에서 Kubernetes 간단 설치 하는 방법

  1. Docker Desktop 설치
  2. 환경설정(settings) → Kubernetes 메뉴로 이동
  3. Enalbe Kubernetes 체크
  4. Apply & Restart
profile
Allons-y

0개의 댓글