Kubernetes 실습(1)

김도비·2025년 9월 28일
0

Kubernates

목록 보기
8/9

간단히 실습 하나하나씩 해보려고 한다. 일단 minikube에서 실습을 하고있다.
앱 하나 만들어서 해당 이미지 빌드 후 쿠버네티스 파드로 띄우는 실습을 해보고자 한다.

1.	eval $(minikube docker-env) → Minikube 안에서 직접 이미지 빌드
2.	imagePullPolicy: Never → 레지스트리 pull 안 하고 로컬 이미지 사용
3.	Pod 실행 후 minikube service 로 접속 테스트

Minikube에서 Dockerfile 기반 Pod 실행 정리

1. 애플리케이션 준비

  • app.py 작성 (예: Flask 서버, 4000 포트 실행)
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello from Kubernetes Pod with Dockerfile! KDS"

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=4000)
    

2. Dockerfile 작성

FROM python:3.11-slim

WORKDIR /app
COPY app.py .

RUN pip install flask

CMD ["python", "app.py"]

3. Minikube 환경에 이미지 빌드

# Minikube 내부 Docker 데몬 바라보도록 전환
eval $(minikube docker-env)

# 이미지 빌드 (Minikube 안에 저장됨)
docker build -t dskim-dockerimg-pod:local .

4. Pod 매니페스트 작성 (pod.yaml)

apiVersion: v1
kind: Pod
metadata:
  name: dskim-dockerimg-pod
  labels:
    app: dskim-dockerimg-pod
spec:
  containers:
    - name: dskim-dockerimg-pod
      image: dskim-dockerimg-pod:local
      imagePullPolicy: Never
      ports:
        - containerPort: 4000 

5. Pod 배포 & 상태 확인

kubectl apply -f pod.yaml
kubectl get pod dskim-dockerimg-pod -o wide

6. 접속환경 구성

kubectl expose pod dskim-dockerimg-pod --type=NodePort --port=4000
minikube service dskim-dockerimg-pod

profile
모든 걸 기록하자

0개의 댓글