본문 바로가기

전체 글199

서비스 배포하기 이제 서비스 배포해보자. 이제까지 했던 과정을 한번에 정리하기 위해 서비스 배포는 글을 마지막에 작성하려고 했다. 크게 보면 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.
kubernetes 사용하기 (with nCloud) kubernetes를 어떻게 적용해야 할까? IDEA 1 사용자 1명 당 1개의 Pod를 할당하고 해당 Pod에서 사용자별 container 관리하기 [구현 상세 IDEA] 1) 사용자가 가상 환경 container(container A)를 생성한다. (이때, Pod 1개가 새롭게 생성됨) a. 사용자에게 생성된 Pod가 없을 때만, Pod가 새롭게 생성됨 2) 사용자가 다른 가상환경 container(container B)를 1개 더 생성한다. 3) 이때, 미리 생성된 Pod(container A가 있는 Pod)에 container B가 할당된다. IDEA 2 Pod를 만들어 놓고, Pod yaml 파일에 사용자를 추가하는 방식 (사용자 1명 당 vCPU 1EA, 2GB) [구현 상세 IDEA] 1) .. 2023. 10. 4.