한줄 요약
- Vagrant로 vm 자동 생성,
- Ansible로 쿠버네티스 엔진 설치 및 vm들 하나의 k8s 클러스터로 묶기
- 깃허브에 helm,yaml 파일로 Cloudflare Tunnel, Tailscale, Nginx, App, DB pod 작성하면 ArgoCD가 배포(온프레미스에 설치됨)
주의 사항
여기서 pod들을 직접 띄워보는 건 시스템에 잘 돌아가는지 검증하기 위한 것. 실제 pod 배포는 깃허브&ArgoCD&Helm를 이용하여 배포
PHP 파일만 Kubectl apply로 수동 배포 → Helm으로 배포 방식 변경함
Vagrantfile로 VirtualBox vm 3개 자동 생성
wsl의 ansible이 vm에 진입하기 위해 ssh key 생성
Ansible로 k8s 클러스터 엔진 설치 및 결합
워커노드2를 NFS(pod들 공동 스토리지), Mysql(DB) 전용 노드로 세팅 및 DB 노드 띄워보기
Tailscale Subnet Router(서브넷 라우터) pod 띄워보기
ArgoCD 설치 및 Github와 연동
ArgoCD로 온프레미스 k8s 환경에 pod 서비스 배포
워커노드1에 들어갈 NGINX(ing controller), PHP(apache) pod + 웹서비스를 도메인으로 뚫어줄 Cloudflare Tunnel pod 배포
서버 종료 및 재시작 방법
Helm chart 방식으로 배포 수정
추가 요소 추가
보수 작업
AWS - OnPremise 간 연결 테스트