쿠버네티스,쿠버플로우

프로젝트 실습(장고app 올리기)

세용용용용 2023. 7. 14. 12:08

1. 파이썬 가상환경 설정

sudo apt -y install python3-venv >>> Ubuntu 또는 Debian 기반 시스템에서 Python 3 가상 환경을 생성하기 위해 필요한 python3-venv 패키지를 설치하는 명령어

 

mkdir venv

cd venv

 

python3 –m venv mysite >>> Python 3의 기본 가상 환경 모듈인 venv를 사용하여 mysite라는 이름의 가상 환경을 생성하는 명령어, 해당 명령어를 실행하면 현재 디렉토리에 mysite라는 디렉토리가 생성되고, 그 안에 가상 환경과 관련된 파일 및 디렉토리가 만들어집니다. 이 가상 환경을 활성화하여 해당 가상 환경에서 Python 패키지를 설치하고 실행할 수 있습니다.

 

. mysite/bin/activate >>> 현재 셸 세션에서 mysite 가상 환경을 활성화하는 명령어

 

(mysite) user@user-Aspire-E5-576:~/venvs$ pip install django==4.0.3 >>> 가상 환경 (virtual environment)에서 Django 버전 4.0.3을 설치하는 명령어

 

(mysite) user@user-Aspire-E5-576:~/venvs$ deactivate >>> 현재 활성화된 가상 환경에서 빠져나오고 기본 Python 환경으로 돌아가는 명령어

 

2. 장고프로젝트 생성

cd ~

mkdir -p projects/mysite

cd projects/mysite

 

. /home/user/venvs/mysite/bin/activate >>> /home/user/venvs/mysite/bin/activate 파일을 실행하여 가상 환경을 활성화하는 명령어입니다. . 명령어는 현재 셸 세션에서 스크립트를 실행하는 것을 의미하며, 파일 경로를 지정하여 해당 파일을 실행

 

django-admin startproject config . >>> Django 프로젝트를 생성하는 명령어입니다. django-admin startproject 명령어를 사용하여 config라는 이름의 Django 프로젝트를 생성하고, .을 통해 현재 디렉터리에 프로젝트를 생성, config 디렉터리 안에 Django 프로젝트의 초기 파일과 설정이 생성됩니다.

 

 

3. 가상환경 시작 스크립트 작성

vim ~/django_start.sh

 

4. 장고 프로젝트 시작

. ~/django_start.sh

python manage.py runserver >>> 위 명령어를 실행하면 개발 서버가 시작되고, 로컬 호스트의 기본 포트(일반적으로 8000)에서 Django 애플리케이션이 실행됩니다.

-----------------------------------------------------------------------

pip freeze

asgiref==3.7.2
backports.zoneinfo==0.2.1
beautifulsoup4==4.12.2
certifi==2023.5.7
charset-normalizer==3.2.0
Django==4.0.3
django-classy-tags==4.0.0
django-taggit==4.0.0
django-taggit-templatetags2==1.6.1
django-widget-tweaks==1.4.12
idna==3.4
Pillow==10.0.0
requests==2.31.0
soupsieve==2.4.1
sqlparse==0.4.4
typing-extensions==4.7.1
urllib3==2.0.3

-----------------------------------------------------------------------

 

 

5. 도커 이미지 만들어보자

도커 깔린 가상환경으로 들어가자

ssh 192.168.56.104

 

mkdir django_pro(도커 이미지 만들 디렉토리 생성)

cd django_pro

 

sftp로 장고 디렉토리 가져오자

sftp user@192.168.30.26

get 명령어로 app(장고 디렉토리) 가져오자

 

vim requirements.txt

 

vim dockerfile

 

app >>> mysite >>> settings.py 수정하기

실제 운영 환경에서 모든 호스트를 허용하려는 경우, ALLOWED_HOSTS 설정을 다음과 같이 수정

 

6 .이제 이미지 만들자 레츠기릿!!!!

docker build -t sydjango:latest . >>>> 이미지를 만들어보자!!!

 

docker run -d -p 8000:8000 sydjango:latest >>> sydjango:latest 이미지를 기반으로 도커 컨테이너가 백그라운드에서 실행되며, 호스트의 8000번 포트와 컨테이너의 8000번 포트가 매핑됩니다. 이제 호스트에서 http://localhost:8000을 통해 애플리케이션에 접속할 수 있습니다.

 

이제 내 우분투 환경에서 접속해보자

192.168.56.104:8000로 접속

 

 

7. 쿠붕이에서 띄워보자!!!! 쿠버네티스에서 ㅋㅋ

레플리카셋으로 파드 만들고 , 로드벨런스 서비스만들어서 외부에서 접속해보자!!!(제발 되길 안해봐서 모르겠음 ㅠㅠ)

vim sydjngo-rs.yaml

ReplicaSet은 sydjango-rs라는 이름을 가지며, 3개의 복제본을 유지합니다. 선택자(selector)는 app 라벨이 sydjango-rs인 파드와 매칭됩니다.

파드 템플릿(template)은 sydjango-rs 라벨을 가지며, 컨테이너는 sy02229/django:latest 이미지를 사용합니다. 컨테이너는 8000번 포트를 열고 대기합니다.

 

 

LoadBalancer 서비스 생성하자

vim sydjango-svc-lb.yaml

 

 

kubectl get pods >>> 파드가 돌아가고 있는지 확인!!!!!

맨밑에 두게 파드가 돌아가고있음!!!!

 

kubectl get service >>> 로드벨런스 서비스 활성화 되었는지 확인

 

 

이제 외부에서 접속되는지 확인!!!

EXTERNAL-IP인 192.168.56.200로 접속해보자!!!!!

성공성공!!!!!!