본문 바로가기

개발/졸업과제20

졸업과제 수상 및 회고 졸업과제는 성공적으로 마무리가 되었다!! 네트워크·클라우드·블록체인 분과에서 금상을 수상하였다. 🏆 다양한 시도와 노력을 한 덕분에 좋은 결과를 얻게 된 것 같아서 뿌듯하다. 전체적으로 이번에 진행하게 된 졸업과제를 통해 서비스가 어떻게 구성이 되어있고, 어떻게 동작하는지에 대해 많이 알아갈 수 있었다. 또한, MSA 방식으로 여러 개의 서버를 구축해서 사용했기 때문에, 각각의 서버들이 서로 어떻게 통신을 하는지에 대해서도 알 수 있게 되었다. 구현하는 과정에 있어서는 정말 힘들었다. 이론으로만 알고 있던 멀티클라우드를 실제 서비스에 적용시키는 것과 kubernetes도 쉽게 이해할 수 있는 내용이 아니었고, docker를 선 지식으로 알고 있어야 했기 때문이다. 하지만, 고생한 만큼 실력이 많이 성장한.. 2023. 11. 13.
서비스 배포하기 이제 서비스 배포해보자. 이제까지 했던 과정을 한번에 정리하기 위해 서비스 배포는 글을 마지막에 작성하려고 했다. 크게 보면 3가지로 구성되어있다. SpringBoot & MariaDB Flask https 접속 [SpringBoot & MariaDB] 0) code 작성하기 application yml 파일 분리하기 docker-compose 파일 작성하기 (springboot, mariadb) Dockerfile 작성하기 1) EC2 구축 ubuntu 22.04 / t2.micro / EBS 10GiB t2.micro로는 RAM이 작기 때문에 memory를 늘리기 위해 swap을 해주었다. 2) JDK 17 설치 # Install JDK 17 sudo apt update sudo apt install.. 2023. 10. 19.
kubernetes server에서 flask 서버로 정보 전송 사용자의 가상 환경을 그대로 보존하여 Private Docker Registry에 저장하려고 한다. 구현하기 위해 만족해야 하는 상태는 2가지이다. 사용자의 가상환경이 Kubernetes Server에서 상태 유지가 되고 있는가? 가상환경을 그대로 보존하여 Docker Image로 만들 수 있는가? [가상환경 상태 유지하기] 참고 링크 https://nirsa.tistory.com/157 사용자의 가상 환경(pod)에 pv, pvc를 할당해 상태를 유지한다. [Docker Image로 만들기] 팀원과 의견을 나누는 도중에 전체적인 IDEA 흐름이 나오게 되었다. 내가 제시한 방법은 다음과 같다. Kubernetes에서 Flask로 사용자의 container image 정보 전달 (kubectl cp) F.. 2023. 10. 19.
kubernetes 사용하기 (2) (with nCloud) 동적으로 노드의 ip를 추출하는 방법을 구현해보자. 구현 아이디어 구현 아이디어는 다음과 같다. 노드의 ip와 추출한다. pod에 할당된 노드의 이름을 알아낸다. 노드의 이름에 해당하는 노드의 ip를 찾는다. kubectl get nodes -o wide 위의 명령어를 입력했을 때, 나오는 EXTERNAL-IP와 실제 노드에 할당된 공인 ip가 동일한 것을 확인 코드 작성 [노드 IP 추출하기] # node의 이름과 ip를 추출하기 위한 용도 def extractNodesInfo(): result = os.popen("kubectl get nodes -o wide --kubeconfig /root/kubeconfig.yml").read() print("result:", result) nodeInfoLis.. 2023. 10. 4.