본문 바로가기

전체 글79

프로메테우스 설치 및 CPU 과부하 알람 구축 쿠버네티스 클러스터 모니터링의 핵심인 프로메테우스를 활용하여, 특정 파드가 CPU를 과도하게 사용할 때 알람을 발생시키는 실전 환경 구축 과정을 정리합니다.1. 환경 구성 및 목표시스템: Ubuntu 22.04 (Master 1, Worker 1) 스토리지: NFS 기반 nfs-client StorageClass 사용 핵심 목표: 파드 CPU 사용량이 **500m(0.5코어)**를 초과할 경우 알람 발생 2. Helm 차트 기반 프로메테우스 설치# 프로메테우스 차트 저장소 추가 및 업데이트helm repo add prometheus-community https://prometheus-community.github.io/helm-chartshelm repo update 마스터 노드에는 NFS 클라이언트가 .. 2025. 12. 22.
Method https has died unexpectedly! Ubuntu에서 GNUTLS_CPUID_OVERRIDE=0x1 한 줄로 apt HTTPS 에러가 해결되는 이유Ubuntu 22.04 서버에서 Kubernetes 설치를 준비하다가, apt-get update만 쳤을 때 아래와 같은 에러가 발생했습니다.E: Method https has died unexpectedly! E: Sub-process https received signal 4.리포지토리 주소도 맞고, 네트워크도 잘 되는데 HTTPS 리포지토리만 계속 실패.그런데 신기하게도, 아래처럼 환경변수 한 줄만 앞에 붙이면 잘 됩니다.GNUTLS_CPUID_OVERRIDE=0x1 sudo apt-get update GNUTLS_CPUID_OVERRIDE=0x1 sudo apt-get install -y .. 2025. 12. 5.
kubelet 장애 트러블슈팅 Ubuntu 22.04 + Kubernetes v1.19 + Docker 런타임 환경1. 장애 상황 정리환경:OS: Ubuntu 22.04.4 LTSKubernetes: v1.19.16 (kubeadm)Runtime: Docker (dockershim)증상:서버 재부팅 이후 kubectl get pods 불가kubelet 상태가 activating (auto-restart) 로 계속 재시작docker ps 결과에 어떤 컨테이너도 없음kubectl get no → The connection to the server 192.168.100.210:6443 was refused즉, 노드에서는 kubelet이 제대로 동작하지 않고, 컨트롤 플레인(pods, apiserver 등)도 하나도 안 떠 있는 상태였다.2.. 2025. 11. 25.
docker 와 podman Docker 와 Podman, 둘의 차이의 핵심은 아키텍처(데몬의 유/무) 이다. Docker 와 Podman 등장클라우드와 컨테이너 시장이 폭발적으로 성장하게 된 배경에는 Docker의 등장이 있습니다. 도커 이전에도 컨테이너 기술은 존재했지만,도커는 이를 쉽게 빌드·배포·실행할 수 있는 형태로 패키징하면서:개발자가 로컬에서 컨테이너 이미지 빌드테스트 환경에 그대로 배포운영 환경에서도 동일한 이미지 그대로 실행이라는 흐름을 만들었고,덕분에 “한 번 만든 이미지를 어디서나 똑같이 돌리는” 문화가 자리 잡았습니다.그래서 여전히 많은 분들이“컨테이너 = 도커(Docker)” 를 가장 먼저 떠올립니다. 하지만 이제는 단일 Docker 호스트가 아니라,쿠버네티스(Kubernetes)를 중심으로 한 오케스트레이션.. 2025. 11. 17.
여러 시스템 데몬 한 번에 확인하기 클라우드/시스템 엔지니어 업무의 궁극적인 목표는 시스템 장애 없이, 시스템 위에 올라간 서비스가 잘 돌아가게끔 하는 것입니다. 위 목표를 위해 서버(리눅스 등)를 운영하다 보면 현재 구동중인 데몬들의 서비스들이 잘 돌아가는지 에러는 있는지 수시로 확인합니다. 특히 중요한 docker, kubelet, nginx 등의 데몬은 죽거나 장애 발생 시 바로 장애로 이어지기 때문에 자주 확인합니다. 본문은 상기와 같은 주제의 편의성을 위해 작성합니다. 데몬들을 가장 기본적이고 가장 정확하게 확인하는 방법은 데몬 하나씩 확인하는 방법입니다.systemctl status dockersystemctl status kubeletsystemctl status nginxactive(running) 상태 혹은 failed, .. 2025. 11. 17.
여러 줄 주석 터미널에서 작업을 하다 보면 대량의 줄을 주석처리해야 하는 경우가 있습니다.. 단일 줄마다 주석처리 하기엔 공수가 너무 들기에 한 번에 처리하는 방법을 찾아 정리합니다. 1. ctrl + v 로 원하는 만큼의 파일 내 줄을 블록2. shift + i (대문자 I) 입력 모드3. # 주석처리 후4. esc 로 명령 모드로 전환 대량의 줄을 한 번에 주석처리 할 수 있습니다. 2025. 11. 13.