728x90
목차
쿠버네티스 설치부터 서비스 배포까지 - 1.도커 설치
쿠버네티스 설치부터 서비스 배포까지 - 2.쿠버네티스 설치
쿠버네티스 설치부터 서비스 배포까지 - 2-1. 쿠버네티스 재설치
쿠버네티스 설치부터 서비스 배포까지 - 3.쿠버네티스 Ingress Nginx 생성
쿠버네티스 설치부터 서비스 배포까지 - 4.NFS 설치
쿠버네티스 설치부터 서비스 배포까지 - 5.데이터베이스 설정
쿠버네티스 설치부터 서비스 배포까지 - 6.프론트엔드 설정
쿠버네티스 설치부터 서비스 배포까지 - 7.백엔드 설정
쿠버네티스 설치부터 서비스 배포까지 - 8.결과화면
7.백엔드 설정
해당 파트 참고 URL
- https://docs.docker.com/engine/reference/builder/
- https://kubernetes.io/ko/docs/tasks/access-application-cluster/connecting-frontend-backend/
- https://docs.djangoproject.com/ko/4.0/
- https://docs.djangoproject.com/ko/4.0/ref/databases/#mysql-notes
백엔드는 제가 작성한 Django Code를 사용했습니다.
돌아가게만 만든 것이기 때문에 퀄리티가 좋지 않긴 한데... 궁금하신 분은 https://github.com/kschoi93/k8s_backend.git
확인하시면 될 것 같습니다
cd /home/kube
도커 생성시 위치할 파일
아래 호스트 주소는 반드시 본인 서버 주소를 입력해주세요
sudo vim mysetting.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'toy',
'USER': 'user',
'PASSWORD': 'password',
'HOST': '10.100.0.10', # 호스트 주소는 본인의 서버 주소를 입력합니다
'PORT': '31002',
'OPTIONS': {
'init_command': 'SET default_storage_engine=INNODB',
},
},
}
도커파일 생성
sudo vim Dockerfile-backend
FROM nvidia/cuda:11.5.1-cudnn8-devel-ubuntu20.04
EXPOSE 8000
RUN apt-get update \
&& apt-get install -y vim curl git python3 python3-venv python3-pip libmysqlclient-dev
WORKDIR /home
RUN python3 -m venv venv
RUN . venv/bin/activate
RUN git clone https://github.com/kschoi93/k8s_backend.git
WORKDIR /home/k8s_backend
COPY mysetting.py /home/k8s_backend/mysetting.py
RUN pip install -r requirements.txt
RUN python3 manage.py makemigrations k8s
RUN python3 manage.py migrate
CMD ["python3","manage.py","runserver","0.0.0.0:8000"]
도커파일 이미지로 빌드
sudo docker build -t toy_backend:1.0 -f Dockerfile-backend .
생성 확인
sudo docker images
쿠버네티스 service && deployment .yaml 파일 생성
sudo vim toy_backend.yaml
apiVersion: v1
kind: Service
metadata:
name: backend-service
spec:
selector:
app: toy
tier: backend
type: NodePort
ports:
- protocol: TCP
port: 8000
nodePort: 31000
targetPort: 8000
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: backend-deployment
spec:
replicas: 1
selector:
matchLabels:
app: toy
tier: backend
template:
metadata:
labels:
app: toy
tier: backend
spec:
containers:
- name: toy
image: toy_backend:1.0
ports:
- containerPort: 8000
쿠버네티스 deployment 생성
kubectl apply -f toy_backend.yaml
생성 확인
kubectl get pod,svc,deploy
쿠버네티스 파드 접속 방법
kubectl exec -it backend-deployment-5cc9cd6b67-kpnk5 -- bash
최종 생성 확인
kubectl get pod,svc,deploy,pv,pvc -o wide
728x90
'Infrastructure > Docker & Kubernetes' 카테고리의 다른 글
에러, Conflicting values set for option Signed-By regarding source https://download.docker.com/linux/ubuntu/ bionic: /usr/share/keyrings/docker-archive-keyring.gpg != (0) | 2022.05.05 |
---|---|
쿠버네티스 설치부터 서비스 배포까지 - 8.결과화면 (0) | 2022.05.05 |
쿠버네티스 설치부터 서비스 배포까지 - 6.프론트엔드 설정 (0) | 2022.05.05 |
쿠버네티스 설치부터 서비스 배포까지 - 5.데이터베이스 설정 (0) | 2022.05.05 |
쿠버네티스 설치부터 서비스 배포까지 - 4.NFS 설치 (0) | 2022.05.05 |