DevOps, 클라우드
-
[HomeLab] Tailscale 을 쿠버네티스에 배포하기DevOps, 클라우드/Container 2024. 7. 5. 00:52
서론인터넷에서 내 클러스터로 들어오는 인바운드는 모두 허용할 수 없었다.외부에 노출시킬 서비스를 제외하고는 VPN 등을 통해서 접근하게 해야했다.기존에는 Tailscale을 통해 각 노드에 직접 접근했으나 Calico와의 충돌 문제가 있었다. Tailscale은 쿠버네티스에 배포할 수 있다.이게 무슨 소리냐면 VPN 대역에서만 접근할 수 있는 Tailscale 서비스를 클러스터에 배포할 수 있다는 뜻이다.내 사설망에 일종의 VPN Ingress-Controller가 생기는 셈이다.배포 유형은 3가지를 지원한다고 한다.프록시Tailscale 프록시를 통해서 쿠버네티스 서비스와 통신할 수 있도록 해준다.다만, 통신하려는 '서비스' 외에 다른 쿠버네티스 리소스에 접근하거나 제어할 수 없다.사이드카특정 파드에 ..
-
[HomeLab] Calico와 Tailscale 충돌 문제DevOps, 클라우드/Container 2024. 6. 22. 21:07
서론내부망에 쿠버네티스 클러스터를 올리고 외부의 인바운드를 열어놓지 않은 상황이었다.워크로드 MVP 개발을 마무리한 후에 특정 서비스를 외부망에 열어놓으려 했다.반대로 특정 서비스는 내부망에서만 접근이 가능하도록 하려 했다.VPN을 쓸까?클러스터는 Calico CNI를 사용하고 있는 상태였고 각 노드와 내부망에 접근하기 위해 VPN을 직접 구축하려 했다.직접 구축해도 되었지만 이건 별도로 해도 상관 없을 것 같았고 빠르게 사용하기 위해서 Tailscale을 각 노드에 설치했다.MetalLB의 IP 대역 할당이 정상적으로 이루어지지 않는 문제NodePort를 써도 충분했지만 서비스를 LoadBalancer 타입으로 서빙하고 싶었다.그래서 MetalLB를 설정하고 DHCP의 IP 대역을 정리해서 IP Poo..
-
[OpenStack] Nova-Compute IncompatibleObjectVersion 해결하기DevOps, 클라우드/Open Sources 2023. 3. 29. 19:38
개요원래 1개의 데스크탑, 3개의 라즈베리파이에 우분투를 설치하고 개인 서버로 활용하고 있었다.솔직히 데스크탑은 공부용, 개발서버용 정도로 쓰고 있었는데 라즈베리파이가 놀고 있는게 맘에 좀 걸렸다.그러면서 또 여러 문제가 생겼는데 개인 서버가 있으니 클라우드를 활용하는 빈도가 현저히 적어졌다는 거다. 솔직히 돈도 돈 때문에 안쓴거긴 하지만...그러다가 오픈스택을 함 올려볼까 싶었다.그래서 고민 끝에 윈도우 데스크탑을 밀고 우분투 서버를 설치했다. 결과적으로 컴퓨팅 노드, 컨트롤 노드로 쓰일 데스크탑 서버 2대와 스토리지 노드로 쓰일 라즈베리파이 3대가 생겼다.이걸 클러스터링해서 어떻게 오픈스택을 잘 올려보려고 했다. 문제 발생설치 과정이나 개념 정리는 다음에 한번에 적어보기로 하고...Keystone, ..
-
라즈베리파이를 이용한 멀티 노드 클러스터링 (4) - Spring BootDevOps, 클라우드/Container 2022. 4. 6. 23:07
기존에 짜던 스프링부트 API 서버를 k3s 클러스터를 통해 배포해보려고 한다. 스프링부트에 대한 정리는 추후 여유가 있다면 한번 해보겠다. # safe-dp.yaml apiVersion: apps/v1 kind: Deployment metadata: name: safeapi-dp spec: selector: matchLabels: app: safe-api template: metadata: labels: app: safe-api spec: containers: - name: safeapi-dp image: floodnut/apiserver-dp-arm64:latest imagePullPolicy: Always resources: limits: memory: "2Gi" cpu: "2" ports: - c..
-
라즈베리파이를 이용한 멀티 노드 클러스터링 (3) - MySQLDevOps, 클라우드/Container 2022. 4. 5. 02:58
쿠버네티스 공부를 하겠다고 한 후 한참이 지났다. 사실 그 동안 정말 오케스트레이션을 쓰는게 좋은 것인가?를 두고 많이 고민했다. 정확히는 내가 만드는 서비스, 프로젝트에서 쿠버네티스가 정말 효용성이 있는지를 따지다보니 후순위로 밀린 감이 없지 않아 있다. 이번에 진행 중인 프로젝트를 위해서 데이터베이스와 API 서버를 k3s에 배포해보려고 한다. 다시금 쿠버네티스를 만져보면서 이전에 써둔 글을 그대로 따라했다. 물론 별 내용은 없지만 매 번 검색하고 찾는 것보다는 내가 정리한 글이 따라해보기 편한 것 같다. 그래서 이 글도 계속 작성하려한다. #pv-local.yaml apiVersion: v1 kind: PersistentVolume metadata: name: "pv-local" labels: ty..