250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 파이썬
- 장고
- GUI
- Python
- Docker
- tensorflow
- 딥러닝
- 파이토치
- 논문 리뷰
- pytorch
- Deep Learning
- Django
- 데이터베이스
- 그래픽 유저 인터페이스
- Computer Vision
- 웹 프로그래밍
- kubernetes
- vue.js
- POD
- paper review
- Tkinter
- yaml
- OpenCV
- 컴퓨터 비전
- k8s
- MariaDB
- FLASK
- Web Programming
- numpy
- 텐서플로우
Archives
- Today
- Total
Maxima's Lab
[Kubernetes] Flask 애플리케이션을 Kubernetes 클러스터 배포하는 방법 본문
728x90
SMALL
안녕하세요, 오늘은 Flask 애플리케이션을 Kubernetes 클로스터에 배포하는 방법에 대해서 알아보겠습니다.
다음과 같은 과정으로 이루어집니다.
- Flask 애플리케이션 준비
- Dockerfile 작성
- Docker 이미지 빌드 및 푸시
- 쿠버네티스 Deployment 정의
- 쿠버네티스 Service 정의
- Deployment 및 Service 적용
- 애플리케이션 접근 확인
먼저, Flask 애플리케이션을 준비하는 단계입니다. (app.py)
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, Kubernetes!'
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=8080)
이어서, Dockerfile을 작성합니다.
# 기본 이미지로 파이썬 3.8을 사용
FROM python:3.8-slim
# 작업 디렉토리 설정
WORKDIR /app
# 애플리케이션 파일 복사
COPY . /app
# 필요한 패키지 설치
RUN pip install --no-cache-dir flask
# 애플리케이션 실행
CMD ["python", "app.py"]
다음은 Docker 이미지를 빌드합니다.
docker build -t my-flask-app:v1 .
쿠버네티스 Deployment를 정의하는 YAML 파일을 작성합니다. (flask-deployment.yaml)
apiVersion: apps/v1
kind: Deployment
metadata:
name: flask-app
spec:
replicas: 2
selector:
matchLabels:
app: flask-app
template:
metadata:
labels:
app: flask-app
spec:
containers:
- name: flask-app
image: my-flask-app:v1
ports:
- containerPort: 8080
이어서, Flask 애플리케이션을 외부에서 접근하기 위해 Service를 정의하는 YAML 파일을 작성합니다. (flask-servie.yaml)
apiVersion: v1
kind: Service
metadata:
name: flask-service
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: 8080
selector:
app: flask-app
마지막으로, kubectl apply 명령어를 사용하여 Deployment와 Service를 쿠버네티스 클러스터에 적용합니다.
kubectl apply -f flask-deployment.yaml
kubectl apply -f flask-service.yaml
그리고, kubectl get services 명령어를 사용하여 외부 IP 또는 URL을 확인할 수 있습니다.
위의 명령어를 통해 출력되는 EXTERNAL-IP가 외부에서 서비스에 접근할 수 있는 IP 주소입니다.
웹 브라우저에서 "http://EXTERNAL-IP"로 입력하면 쿠버네티스 클러스터에서 실행 중인 Flask 애플리케이션의 홈페이지에 접속할 수 있습니다.
지금까지, Flask 애플리케이션을 Kubernetes 클러스터 배포하는 방법에 대해서 알아보았습니다.
감사드립니다.
728x90
LIST
'Kubernetes' 카테고리의 다른 글
[Kubernetes] YAML 파일 내 Object kind (k8s 객체 유형) (0) | 2024.06.09 |
---|---|
[Kubernetes] Rancher Desktop 설치 방법 (Ubuntu) (0) | 2024.05.22 |
[Kubernetes] kubectl 개념 및 사용 방법 (create, apply, get, edit, scale 등) (0) | 2024.03.02 |
[Kubernetes] YAML 파일 작성하는 방법 (Pod, Deployment, Service, ConfigMap, Secret, PVC) (0) | 2024.03.02 |
[Kubernetes] Container와 POD 개념 설명 및 사용 방법 (0) | 2024.03.02 |
Comments