목차
쿠버네티스 설치부터 서비스 배포까지 - 1.도커 설치
쿠버네티스 설치부터 서비스 배포까지 - 2.쿠버네티스 설치
쿠버네티스 설치부터 서비스 배포까지 - 2-1. 쿠버네티스 재설치
쿠버네티스 설치부터 서비스 배포까지 - 3.쿠버네티스 Ingress Nginx 생성
쿠버네티스 설치부터 서비스 배포까지 - 4.NFS 설치
쿠버네티스 설치부터 서비스 배포까지 - 5.데이터베이스 설정
쿠버네티스 설치부터 서비스 배포까지 - 6.프론트엔드 설정
쿠버네티스 설치부터 서비스 배포까지 - 7.백엔드 설정
쿠버네티스 설치부터 서비스 배포까지 - 8.결과화면
1.도커 설치
인트로
들어가기에 앞서 저는 도커, 쿠버네티스를 이렇게 시작했습니다.
도커에 대해 ‘도’자도 모르던 어느 날 갑작스레 도커를 이용한 컨테이너화를 통해 프로젝트를 진행해야 했습니다. 도커를 ‘책’과 ‘공식 가이드’를 통해 공부하면서 순수 “도커” + “도커 파일” + “도커 컴포즈”를 이용해 프로젝트 제작까지 약 1달 정도 소요된 것 같습니다.
이 글을 읽는 분들도 시간을 조금만 투자하면 하실 수 있다는 것을 말씀드리고 싶었습니다.
느껴본 바로는 우선 쿠버네티스를 이해하고 사용하기 위해서는 적어도 ‘나 도커 어느 정도 사용 해봤어요! 그리고 어느 정도 알아요!’ 정도는 돼야 하는 것 같습니다.
해당 글은 도커를 이용한 프로젝트 이후 쿠버네티스를 공부하며 제작해보는 글이며 저는 쿠버네티스 전문가가 아닙니다.
그래도 아예 시작할 엄두도 나지 않는 사람들이 쿠버네티스 + 백엔드 + 프론트엔드 + 데이터베이스 + 머신러닝을 (kubernetes + backend + frontend + database + machine learning) 어떻게 연결해야 할 지 제가 고민해보며 테스트 하면서 만든 프로젝트를 정리해 놓은 이 글을 통해 도움이 되길 바랍니다.
※ 백엔드는 장고, 프론트는 리액트를 사용해봤습니다.
이 두 가지의 프레임워크도 처음 사용해보는 거라 진행하기 쉽지는 않았네요 ^^;
이 글은 쿠버네티스에 대해 깊이 파는 방식으로 작성하지 않았습니다.
한 번 따라하며 만들어 보는 것에 목적이 있으며 따라하면서 중간 중간에 이걸 왜 이렇게 했는지 *쿠버네티스 공식 문서를 보면서 또는 *구글 검색을 통해 채워나가면 좋을 것 같습니다.
쿠버네티스가 분명 어렵게 느껴질 수도 있기는 하지만 천천히 하나 씩 풀어나가 보니 해 볼만 한 것 같습니다. 물론 더 깊은 핵심 기술에 대해서는 확실히 공부 해야겠지요 ^^
저도 여러분도 화이팅 입니다.
추가 당부할 사항으로 이 설치 방법이 무조건 맞다! 생각하지 말고 안되시면 공식 문서나 다른 방법을 찾아보시기 바랍니다.
저도 처음에 다른 사람들이 작성한 쿠버네티스 설치 방법을 여럿 사용해 봤는데 1년도 지나지 않은 글 대로 해도 계속 오류가 발생했습니다. 쿠버네티스가 버전이 업데이트 되어 설치 방법이 추가 또는 수정되었기 때문이겠죠?
* 그냥 따라하는 타입이 아니라 이것저것 만져보고 다른 방법으로 시도해 보는 타입이라 더 오래 걸렸네요 ㅎㅎ;
이 글에서 사용한 버전은 다음과 같습니다.
- Ubuntu : 20.04
- Docker : 20.04
- Kubernetes : 1.23.6
- Django : 4.0.3
- React : 18.0.0
- MySql : 8.0.28
- Machine Learning : pytorch 1.11.0 cuda 10.2
환경은 어떻게 구성하나?
클라우드 환경에서 최소 3개의 서버가 있다는 가정 하에 연습 한다면 가장 좋겠지만 ....
실제로 사용하기 위해서는 도커 이미지 레지스트리도 필요하고 이거저거 필요한 사항이 많습니다.
그렇기 때문이 이 과정의 환경은 하나의 linux os에서 진행됩니다. Linux 환경 on-premise 환경의 또는 윈도우의 Virtualbox 가상환경에서 Linux를 설치하셔도 상관없습니다.
그저 여러 개의 서버를 상용 할 때 노드의 구성, pod의 구성이 어떻게 되는지 이해만 하시면 좋을 것 같습니다
제가 만든 과정은 그냥 맛만 보기 위한 것이니까요
맛이라도 보시고 한 번 제대로 만들어 보세요~
- Virtual Box 환경에서 진행하고자 할 경우 다음 URL 참고
- Virtual Box 설치 및 생성 : https://youtu.be/PqgWp7rbqws
- 우분투 설치 : https://youtu.be/REYVRyXdSKU
django와 react는 machine learning은 제가 작성해 놓은 git 또는 colab 코드가 제공될 예정입니다.
해당 파트 참고 URL
본문
도커 설치 전 Set up the repository
sudo apt-get update
sudo apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
도커 설치
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
도커가 올바르게 설치 되었는지 테스트 이미지 실행
sudo docker run hello-world
도커 실행 루트 권한을 현재 아이디에 부여하기
아무런 조치 없이 도커를 사용하면 계속해서 sudo를 쳐야하는데요
다음과 같이 미리 권한을 부여하면 sudo 없이도 사용이 가능합니다
sudo usermod -aG docker ${USER}
sudo service docker restart
sudo su - ${USER}
or
sudo reboot