DevOps, 클라우드/Container
-
-
[HomeLab] K8S 노드에 Label 추가하기DevOps, 클라우드/Container 2024. 7. 21. 03:22
파드가 죽어요현재 가지고 있는 쿠버네티스 클러스터에는 4개의 워커 노드가 있다.3대의 arm64 노드와 1대의 x86 노드를 사용하고 있다. 이전에 Envoy를 테스트하면서 v1.11 이미지를 사용했다.현재는 1.31 버전이 최신 버전임을 확인할 수 있다. [서비스메시] Istio, Envoy서비스 메시, Istio와 Envoy서비스 메시는 주로 분산 아키텍처에서 각 소프트웨어 컴포넌트 간의 네트워킹을 관리한다.특히 쿠버네티스 환경에서 마이크로서비스 간의 상호 연결을 관리하고, 그에www.floodnut.com 여기서 생겼던 문제가 4대의 노드 중 arm64 노드에 파드가 생성되면 아키텍처 차이로 파드가 계속 죽는다.exec format error 컨테이너 이미지최근에야 멀티 아키텍처를 지원하는 컨테이너..
-
[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..
-
라즈베리파이를 이용한 멀티 노드 클러스터링 (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..