[DevCamp] ☸️ 쿠버네티스(Kubernetes) 사용 방법

동건·2025년 5월 14일
0

DevCamp

목록 보기
65/85

☸️ 쿠버네티스(Kubernetes) 사용 방법

쿠버네티스(Kubernetes, 줄여서 K8s)
컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화해주는 오픈소스 플랫폼이다.

오늘은 쿠버네티스를 시작하는 데 필요한 기본 사용 방법을 정리했다.


🌐 쿠버네티스의 기본 구성 요소

  • Pod: 하나 이상의 컨테이너를 담고 있는 가장 작은 배포 단위
  • Node: 컨테이너가 실제로 실행되는 물리 또는 가상 머신
  • Cluster: 여러 노드로 구성된 쿠버네티스의 전체 시스템
  • Deployment: 애플리케이션의 배포 및 업데이트를 관리
  • Service: 외부에서 Pod에 접근할 수 있도록 해주는 추상화 레이어

📦 Minikube로 쿠버네티스 시작하기

개발 환경에서는 Minikube를 사용해 로컬에서 쿠버네티스를 실행할 수 있다.

# Minikube 설치 후 클러스터 시작
$ minikube start

# 쿠버네티스 대시보드 열기
$ minikube dashboard

⚙️ kubectl 기본 명령어

kubectl은 쿠버네티스를 제어하기 위한 CLI 도구다.

# 클러스터 상태 확인
$ kubectl cluster-info

# 모든 노드 보기
$ kubectl get nodes

# 모든 파드 보기
$ kubectl get pods

# 파드 로그 보기
$ kubectl logs <pod-name>

📄 Deployment 생성

간단한 Nginx 웹 서버를 쿠버네티스에 배포해보자.

$ kubectl create deployment nginx-deploy --image=nginx

# 배포 확인
$ kubectl get deployments

# 파드 확인
$ kubectl get pods

🌍 Service로 외부 노출

$ kubectl expose deployment nginx-deploy --type=NodePort --port=80

# 서비스 확인
$ kubectl get services

# Minikube로 URL 확인
$ minikube service nginx-deploy --url

🔄 Deployment 업데이트 및 롤백

# 이미지 업데이트
$ kubectl set image deployment/nginx-deploy nginx=nginx:1.19

# 롤백
$ kubectl rollout undo deployment/nginx-deploy

🧹 리소스 정리

$ kubectl delete service nginx-deploy
$ kubectl delete deployment nginx-deploy

✅ 쿠버네티스를 배운 소감

쿠버네티스는 컨테이너 오케스트레이션을 위한 강력한 도구다.
처음에는 복잡하게 느껴지지만, 핵심 개념과 명령어만 잘 익히면 클러스터 관리가 수월해진다.

Minikube를 통해 손쉽게 실습할 수 있으니, 직접 실행해보며 익히는 것이 좋다.


🔨 TIL

  • 쿠버네티스의 기본 구성 요소(Pod, Node, Deployment 등)를 이해했다.
  • Minikube로 로컬 클러스터를 구성하고 실습했다.
  • kubectl 명령어를 사용해 리소스를 생성, 수정, 삭제하는 방법을 익혔다.
  • 실제 배포와 서비스 구성까지 경험했다.
profile
배고픈 개발자

0개의 댓글