Rancher-Desktop 으로 Kubernetes 사용하기 With WSL (5) - FASTAPI Service 만들기

2023. 5. 22. 00:00DevOps/Kubernetes

반응형

이제 기존에 만들었던 FASTAPI 를 Kubernetes replicaset 과 Service 를 이용하여 구현해 보자

 

https://yogingang.tistory.com/427

 

Rancher-Desktop 으로 Kubernetes 사용하기 With WSL (3) FAST API with poetry

1. FASTAPI 로 기본 app 생성 poetry new fastapi-docker cd .\fastapi-docker\ bash -c "nano main.py" // 파일 내용 from fastapi import FastAPI app = FastAPI(title="FastAPI, Docker") @app.get("/") def read_root(): return {"hello": "world"} @app.post("/

yogingang.tistory.com

위에 과정에서 Docker build 까지만 실행하자

docker build --tag myfastapi:latest .
// 이름을 myfastapi 로 수정하였다.

이제 deployment 를 이용하여 replicaset 2 개를 만들어 자동으로 pod 를 생성하고 그것을 service 로 만들자

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-fastapi-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: my-fastapi
  template:
    metadata:
      labels:
        app: my-fastapi
    spec:
      containers:
      - name: my-fastapi
        image: myfastapi
        imagePullPolicy: Never
        ports:
        - containerPort: 8000
---

apiVersion: v1
kind: Service
metadata:
  name: my-fastapi-service
spec:
  selector:
    app: my-fastapi
  ports:
    - name: http
      port: 8000 # 서비스의 8000 포트로 들어오면
      targetPort: 8000 # Pod의 8000 포트로 전달
      protocol: TCP

 

이제 port-forward 를 이용하여 8000 번 port 를 host 에 노출하자

kubectl port-forward service/my-fastapi-service 8000:8000

이제 browser 에서 localhost:8000 으로 접속하면 정상적으로 처리될 것이다. 

 

 

관련영상

https://youtu.be/o7aDW4MZzwM

 

반응형