전체 글
-
[개인 클러스터] K8S 노드에 Label 추가하기DevOps, 클라우드/Docker & Kubernetes 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 컨테이너 이미지최근에야 멀티 아키텍처를 지원하는 컨테이너..
-
[서비스메시] Istio, EnvoyDevOps, 클라우드/Docker & Kubernetes 2024. 7. 13. 18:24
서비스 메시, Istio와 Envoy서비스 메시는 주로 분산 아키텍처에서 각 소프트웨어 컴포넌트 간의 네트워킹을 관리한다.특히 쿠버네티스 환경에서 마이크로서비스 간의 상호 연결을 관리하고, 그에 대한 가시성을 제공한다.기본 쿠버네티스 기능만으로는 어렵다.서비스 메시를 사용하면 네트워크 트래픽을 경유하는 다양한 로직을 구성할 수 있다.이를 통해 원격 측정, 보안, 트래픽 관리 등 여러 기능을 구현 가능하다. Istio는 각 파드에 프록시 컨테이너를 주입하여 네트워크 요청을 관리한다.프록시는 네트워크 호출을 가로채어 서비스 메시의 로직을 적용하고, 이를 대상 컨테이너로 전달한다.이 과정에서 Istio는 원격 측정 데이터를 수집하고, 호출 체인을 추적한다. Istio의 구성 요소는 크게 데이터 플레인과 컨트롤..
-
[개인 클러스터] Tailscale 을 쿠버네티스에 배포하기DevOps, 클라우드/Docker & Kubernetes 2024. 7. 5. 00:52
서론인터넷에서 내 클러스터로 들어오는 인바운드는 모두 허용할 수 없었다.외부에 노출시킬 서비스를 제외하고는 VPN 등을 통해서 접근하게 해야했다.기존에는 Tailscale을 통해 각 노드에 직접 접근했으나 Calico와의 충돌 문제가 있었다. Tailscale은 쿠버네티스에 배포할 수 있다.이게 무슨 소리냐면 VPN 대역에서만 접근할 수 있는 Tailscale 서비스를 클러스터에 배포할 수 있다는 뜻이다.내 사설망에 일종의 VPN Ingress-Controller가 생기는 셈이다.배포 유형은 3가지를 지원한다고 한다.프록시Tailscale 프록시를 통해서 쿠버네티스 서비스와 통신할 수 있도록 해준다.다만, 통신하려는 '서비스' 외에 다른 쿠버네티스 리소스에 접근하거나 제어할 수 없다.사이드카특정 파드에 ..
-
[개인 클러스터] Calico와 Tailscale 충돌 문제DevOps, 클라우드/Docker & Kubernetes 2024. 6. 22. 21:07
서론내부망에 쿠버네티스 클러스터를 올리고 외부의 인바운드를 열어놓지 않은 상황이었다.워크로드 MVP 개발을 마무리한 후에 특정 서비스를 외부망에 열어놓으려 했다.반대로 특정 서비스는 내부망에서만 접근이 가능하도록 하려 했다.VPN을 쓸까?클러스터는 Calico CNI를 사용하고 있는 상태였고 각 노드와 내부망에 접근하기 위해 VPN을 직접 구축하려 했다.직접 구축해도 되었지만 이건 별도로 해도 상관 없을 것 같았고 빠르게 사용하기 위해서 Tailscale을 각 노드에 설치했다.MetalLB의 IP 대역 할당이 정상적으로 이루어지지 않는 문제NodePort를 써도 충분했지만 서비스를 LoadBalancer 타입으로 서빙하고 싶었다.그래서 MetalLB를 설정하고 DHCP의 IP 대역을 정리해서 IP Poo..
-