쿠버네티스 입문 (1)

송범·2025년 8월 3일
post-thumbnail

쿠버네티스(Kubernetes)란?

  • 쿠버네티스는 다수의 컨테이너를 효율적으로 배포, 확장 및 관리하기 위한 오픈 소스 시스템이다.

쿠버네티스의 장점

  • 컨테이너 관리 자동화(배포, 확장, 업데이트)

  • 부하 분산(로드 밸런싱)

  • 쉬운 스케일링

  • 셀프 힐링(Self-healing) : 죽은 컨테이너는 자동으로 재시작, 재스케줄

Docker Desktop을 활용한 쿠버네티스 설치 방법

  1. docker desktop 에서 환경 설정 아이콘 클릭

  • 터미널에서 kubectl get all 명령어를 입력하면 정상적으로 설치된 것을 볼 수 있습니다.

kubectl 설치 방법

  • macOS 에서 Homebrew를 사용하여 설치 : brew install kubectl

  • 설치한 버전이 최신 버전인지 확인한다 : kubectl version

파드(Pod)란?

  • 도커에서는 하나의 프로그램을 실행시키는 단위를 컨테이너(container)라고 주로 불렀습니다.

  • 쿠버네티스에서는 하나의 프로그램을 실행시키는 단위를 파드(Pod)라고 부릅니다.

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

  • 일반적으로는 하나의 파드가 하나의 컨테이너를 가집니다.
    -> 예외적으로 하나의 파드가 여러 개의 컨테이너를 가지는 경우도 있습니다.

yaml 파일 작성 후에

kubectl apply -f 파일명 -> -f 는 file은 약어입니다.

  • kubectl get pod : 만들어진 pod를 확인합니다.

RESTARTS 는 재시작을 시킨 횟수인데 만약 해당 파드(Pod)가 장애가 일어나면 자동으로 재시작을 합니다.

(참고) 매니페스트 파일(Manifest File)

쿠버네티스에서 매니페스트 파일(Manifest File)은 클러스터 리소스를 정의하는 YAML 형식의 설정 파일입니다. 이 파일을 통해 Pod, Deployment, Service, ConfigMap, Secret 등 다양한 리소스를 생성하거나 관리할 수 있습니다.

파드(Pod)의 네트워크는 로컬 컴퓨터의 네트워크와 독립적으로 분리되어 있다.

  1. 파드(Pod) 내부로 들어가서 접근하기

kubectl exec -it [파드명] -- bash

  1. 파드(Pod)의 내부 네트워크를 외부에서도 접속할 수 있도록 포트 포워딩(= 포트 연결시키기) 활용하기

쿠버네티스 파드(Pod) 삭제하기

  • kubectl delete pod [파드명]

스프링(Spring) 서버 띄우기

ErrImagePull -> ImagePullBackOff 에러 발생

profile
BackEnd&Data Scientist가 되고 싶은 개발 기록 노트

0개의 댓글