🔥 Vamos/K8S

MSA-쿠버네티스 배포 실습 1 :: 쿠버네티스 개념과 구조

unikue 2025. 2. 15. 13:31

1. 쿠버네티스의 개념과 사용이유

✔️ 자동화된 배포 & 스케일링
✔️ 서비스 안정성 & 장애 자동 복구
✔️ 리소스 최적화 & 비용 절감
✔️ 멀티 클라우드 환경에서도 유연하게 배포 가능

즉, 애플리케이션을 더 쉽고 안정적으로 운영할 수 있는 환경을 제공!

 

 

2. 쿠버네티스 구조

1️⃣ 마스터 노드, Master Node

  • 쿠버네티스를 관리하고, 컨트롤 플레인(Control Plane) 역할을 담당
  • kubectl 명령어 실행 (배포, 스케일링, 모니터링 등)
  • 직접 애플리케이션을 실행하는 역할은 하지 않음 (보통 Pod가 배치되지 않음)

2️⃣ 워커 노드, Worker Node

  • 애플리케이션이 실제로 실행되는 노드
  • 컨테이너(Pod)가 배치되는 곳
  • 마스터 노드에서 명령을 내리면 적절한 워커 노드에 Pod를 배치

✅Pod가 어디 배치될지 직접 정하고 싶다면? → nodeSelecor나 nodeAffinity설정을 사용해서 특정 노드에 배치 가능

 

 

✅실습 진행순서

  1. 네임스페이스 생성
  2. pv pvc적용
  3. mysql deployment service적용
  4. spring boot application 실행 (c,r)
  5. spring boot 어플리케이션을 로컬에서 빌드 .jar 생성
  6. docker이미지로 패키징 후 로컬에서 실행 및 테스트
  7. docker 이미지를 worker1:5000 레지스트리에 푸시
  8. kubernetes에서 배포
  9. cri-o로 컨테이너 런타임 상태 확인하기