본문 바로가기
인프라/Kubernetis

[minikube] 쿠버네티스에서 왜 Pod 단위로 관리할까?

by devthrive 2025. 8. 11.
반응형

쿠버네티스(Kubernetes)에서는 컨테이너를 직접 하나씩 배포하는 대신, Pod(파드)라는 최소 단위로 묶어서 운영

쿠버네티스에서 애플리케이션을 배포하면, 해당 애플리케이션은 곧바로 컨테이너 안에서 동작하는 것이 아니라 파드 안에 컨테이너가 포함되는 형태로 생성

즉, 쿠버네티스 입장에서 컨테이너를 직접 다루는 것이 아니라, 파드라는 "그릇"을 통해서 컨테이너를 관리하게 됩니다.

- 파드에 속하는 모든 컨테이너는 동일한 IP와 포트 공간을 사용
  그래서 서로 다른 컨테이너라도 localhost를 통해 쉽게 통신가능
- 파드 내부에서는 볼륨(volume)을 공유할 수 있으므로, 같은 디렉터리나 파일에 접근하는 것이 가능

 

 

자주 사용하면 명령어 run, get, logs, port-forward

 

이미지 받아 오기

k run mypod --image nginx:latest

nginx이미지를 mypod이름으로 pod을 만듬

 

Pod 정상작동인지 확인

k get pods

Pod가 정상적으로 작동 되었는지 확인

 

Pod 상세 정보 확인

k get pods/myapp -o wide

Pod에 대한 상세 정보 확인

 

pod의 해당로그 확인

k log mypod

pod의 대한 상세 로그 확인

 

curl로 해당 서버 연결이 잘되는지 확인

curl localhost:80

localhost:80 연결 불가 메세지

같은 로컬 단에서도 서버IP -> minikube IP -> Pod IP가 서로달라 접속이 불가능 한 상태

가능 하게 만들기 위해 port-forward 설정 해줘야함

 

 

외부에서 접속할 수 있게 port-forward 설정 후 새창으로 SSH연결 하기

k port-forward pods/mypod 8080:80

 - 필수 여기서 설정 되었다고 ctrl + C누르면 port-foward 해제 되어 접속이 안됨..

   확인 하다고 끄는것 필수 (요거 찾는다고 몇시간 걸림)..

 

port-forward후 새창을 연 다음 curl localhost:8080 해보면 index.html파일이 보이는 것이 확인 됨.

curl localhost:8080

 

 

정상작 동하는 지확인을 위해 index.html 수정

kubectl exec -it mypod -- bash
 - mypod의 bash에 접속
cd /usr/share/nginx/html/
 - 해당 경로에 index.html이 있음

 

index.html 수정을 위해 vim 설치

apt update
apt install vim

 

 

index.html의 내용 수정

vi index.html

 

<h1> Welcome to nginx</h1> -> <h1>Welcom to nginx1111!</h1> 으로 수정

<h1> Welcome to nginx1111!</h1> 부분 수정

수정후 esc -> : -> wq으로 저장 -> exit

 

curl localhost:8080
 - h1단이 변경 된걸 확인 할 수 있음.

반응형