본문 바로가기

프로젝트 일지32

Springboot - React - MySQL 애플리케이션 k8s에 배포하기 간단한 스프링부트, 리액트로 구성된 애플리케이션을 k8s에 배포해본다. 이 과정을 거치며 k8s에 애플리케이션을 배포하기 위해 어떤 과정이 필요한지, 무엇이 필요한지 습득한다. 백엔드, 프론트엔드 코드 개발하기우선 배포해야 할 샘플 애플리케이션을 작성한다. 백엔드는 spring boot, jpa, mysql 기반, 프론트엔드는 react, tailwind로 간단하게 구성하였다. form을 작성해서 버튼을 누르면 하단에 제출된 텍스트들이 적히는 간단한 애플리케이션이다. 백엔드// controller@RestController@RequestMapping("/api/messages")public class MessageController { private final MessageService messag.. 2024. 7. 18.
Traefik과 Cert Manager를 사용하여 ArgoCD UI Https로 접속하기 Helm 설치하기curl -O tar -zxvf helm-v3.15.3-linux-amd64.tar.gzsudo mv linux-amd64/helm /usr/bin/helm  Traefik 설치helm repo add traefik helm repo update# 나는 관리의 용이성을 위해 ns를 새로 만들어서 거기에 설치했다k create ns traefikhelm install -f values.yaml --namespace=traefik traefik traefik/traefik# 간혹 CRD가 설치 안 되는 경우가 있는데 그 경우 아래 명령어 입력# Install Traefik Resource Definitions:kubectl apply -f # Install RBAC for Traefik:ku.. 2024. 7. 17.
홈서버 구축하기 - Proxmox 설치 및 쿠버네티스 클러스터 구성하기 본격적으로 홈서버에 쿠버네티스 클러스터를 구축해보려 한다. 환경은 Proxmox로 선정하였다. 그 이유는 하나의 컴퓨터에 여러 대의 가상머신을 띄워야 하는 상황이고, 사실상 쿠버네티스 클러스터 외에 다른 것을 띄워두진 않을 것이기 때문에 가상머신에 특화된 환경을 구축하고자 했다. 이에 '베어메탈 아키텍처(type1)'와 '호스트형 아키텍처(type2)' 가상화 아키텍처 중 전자를 채택했다. 베어메탈 가상화의 경우 'Proxmox'와 'ESXi' 중 보통 선택하게 되는데, 쿠버네티스와 관련된 레퍼런스가 조금 더 많은 Proxmox를 선택하게 되었다. (하이퍼바이저와 베어메탈 관련한 지식은 아래 글들을 참고하였다) https://lovejaco.github.io/posts/two-types-of-hyperv.. 2024. 7. 8.
홈서버 구축하기 - 미니 데스크탑 조립 및 우분투 설치 코드스쿼드 멤버들의 사이드 프로젝트를 무료로 호스팅해주는 서비스를 만드려 한다. 홈서버에 온프레미스로 쿠버네티스를 올리고, 이를 활용하여 서비스하려고 한다. 이때 쿠버네티스를 올리는 컴퓨터는 아버지께서 하사해주신 64GB 램 탑재 데스크탑으로 하고, 순수 조립해보는 미니 데스크탑은 Bastion Host 겸, 기타 서비스를 올리는 용도 겸한 구조로 설정하려고 한다.  우선 데스크탑 하나에 Control Plane 하나 Data Plane 3개를 올려두긴 했지만, 이후에 NAS 등을 이용해 멀티노드, 멀티마스터 환경으로 확장하고자 한다. (돈이 되면 UPS도 달고 싶다 ㅎㅎㅎ...) 미니 데스크탑 조립제품 사양과 부품들은 잇섭 영상을 참고했다. 제품 가격은 그때그때 달라질 수 있다(이번엔 쿨러까지 총 70.. 2024. 7. 8.