[홈 서버 구축] Linux Node Exporter와 Prometheus·Grafana 설치
·
인프라/홈서버
들어가며최근 서버로 활용하기 좋은 PC를 한 대 얻게 되어 직접 홈 서버를 구축해 보려고 한다. 주된 목적은 친구들과 함께 즐길 마인크래프트 서버를 운영하는 것이다. 하지만 직업이 직업인 만큼 단순히 게임 서버만 실행하는 데 그치지 않고, Ubuntu 기반 운영체제에 모니터링 스택까지 구성해 제대로 운영해 볼 생각이다. 나아가 기회가 된다면 Ansible을 이용해 서버 설정을 코드로 관리하고, 필요할 때 언제든 동일한 환경을 재현할 수 있도록 구성 자동화까지 진행해 보는 것이 이번 시리즈의 목표다. 이번 포스트에서는 Ubuntu가 설치된 PC에 Node Exporter를 구성하고, 시스템 메트릭을 Prometheus로 수집한 뒤 Grafana 대시보드로 시각화하는 과정까지 다룬다. Node Exporte..
[쿠버네티스] Nginx Gateway Fabric 정리 및 설치
·
인프라/Kubernetes
Nginx Gateway Fabric 개요NGINX Gateway Fabric(NGF)는 Gateway API를 구현한 구현체다. Kubernetes 커뮤니티가 유지하던 ingress-nginx의 지원 종료 이후, Gateway API로 전환하기 위한 대안으로 주목받고 있다. NGF는 컨트롤 플레인과 데이터 플레인으로 역할을 확실히 나누고 있다. 컨트롤 플레인은 Gateway, HTTPRoute 등 Kubernetes 리소스를 지속적으로 감시하며, 데이터 플레인에 필요한 설정과 컴포넌트를 동적으로 구성한다. 데이터 플레인은 실제 트래픽 흐르고 처리하는 영역으로 Nginx 인스턴스 가 포함된다. NGF는 기존 Ingress처럼 LoadBalancer나 NodePort 뒤에서 트래픽을 라우팅하지만, 라우팅..
[쿠버네티스] MetalLB 정리 및 설치 방법
·
인프라/Kubernetes
MetalLB 개요MetalLB는 베어메탈 환경(클라우드 환경은 거의 지원하지 않음)에서 클러스터 내부에 진입점을 마련하기 위한 LoadBalancer이다. 주로 Ingress Controller 혹은 API Gateway 와 같이 배치되며, LoadBalancer가 외부 트래픽을 진입시키면, Ingress Controller가 분배하는 개념이다. MetalLB는 두 가지 모드(L2, BGP)를 지원하는데, 두 모드의 핵심 차이는 VIP(Virtual IP)를 외부 네트워크에 알리는 방식에 있다.L2 모드L2 모드는 서비스마다 speaker 하나가 리더로 뽑혀서 ARP로 응답, 그 노드로만 트래픽을 집중하는 방식이다.L2 모드 장점설정이 간단 (라우터 BGP 지원 불필요)어떤 네트워크 환경에서도 동작L..
[쿠버네티스] Grafana Loki 정리
·
인프라/Kubernetes
사내 클러스터에서 로그를 중앙집중식으로 수집하기 위한 모니터링 플랫폼이 필요했다. 여러 대안 중 Loki가 괜찮은 선택지로 보여, 본격적인 도입에 앞서 사용자 관점에서 최소한으로 알아야 할 내용을 정리해보고자 한다.이 글은 필자가 나중에 다시 읽었을 때 빠르게 기억을 되살릴 수 있도록 작성한 개인 맞춤형 정리 글이며, 개념 설명이나 내용에 빈틈이 있을 수 있다. Loki 개요Loki는 수평 확장 가능한, 고가용성, 멀티 테넌트 로그 집계 시스템이다.보통 Promtail이나 Grafana Alloy와 같은 수집기를 통해 로그를 Loki에 저장하고, Grafana에서 쿼리하여 시각화한다.Loki는 로그 내용을 인덱싱하는 대신 라벨만 인덱싱함으로써, 효율적이고 운영이 쉬운 로그 플랫폼을 제공한다.무엇을 할 수..
[쿠버네티스] Longhorn 정리
·
인프라/Kubernetes
Longhorn 개요LongHorn은 가볍고, 신뢰성 있고, 쉽게 사용할 수 있는 쿠버네티스 기반 분석 블럭 스토리지이다.Rancher Labs 라는 회사에서 만들어 졌으나 현재는 CNCF에 기증되어 incubating 프로젝트이다. 무엇을 할 수 있는가?여러 노드의 로컬 디스크를 하나의 풀로 관리하며, 데이터를 여러 노드에 복제할 수 있다.노드에 데이터가 replica 되어 노드로 인한 단일 실패 지점을 해소 (고가용성)NFS 혹은 S3를 통해 데이터를 백업할 수 있다.언제 도입하면 좋은가?스토리지 관련 리소스가 없을 때 (클라우드, SAN 포함)온프레미스 환경에서 중소규모로 스토리지 환경이 필요할 때동일한 데이터의 다중 접근이 드문 상황일 때 (다중 접근을 위해 블록 스토리지 위에 NFS 레이어를 ..
[트러블 슈팅] Docker 가 의문사 했다?
·
인프라/Docker
사내 서비스를 운영 중인데 Docker 컨테이너가 죽어버렸다. 원인을 파악 해보자. docker cli는 정상으로 보이나 docker.sock에 연결이 안 되는 걸로 봐서 docker daemon에 문제가 생긴것으로 보인다. 확실히 이상하다 Docker CLI는 있고 버전 확인도 되는데 서비스 인식이 불가능한 상황이다.dpkg 로 확실히 docker 와 관련된 패키지들을 확인해 봐야겠다. 눈에 띄는 건 containerd.io와 docker-ce가 rc 상태라는 점이다. rc는 패키지는 제거됐지만 설정 파일은 남아있다는 뜻으로, 어떤 이유에서인지 이 두 패키지가 삭제된 것으로 확인된다. 참고로 containerd는 컨테이너 런타임인데, Docker는 이를 직접 패키징해서 containerd.io라는 ..