[카테고리:] Infrastructure

IT 인프라 관련

Kubernetes

GitLab Helm Chart 업그레이드 시 DB Migration 실패 트러블슈팅 (9.8.0→9.9.0)

📌 핵심 요약 GitLab Helm chart를 9.8.0에서 9.9.0 (앱 버전 v18.8 → v18.9)으로 업그레이드하는 과정에서 DB migration job이 실패하고, 새로 배포된 sidekiq/webservice pod들이 Init:CrashLoopBackOff 상태에 빠지는 장애가 발생했다. 근본 원인은 pool_repositories 테이블의 organization_id 컬럼에 NULL 값이 존재하는 데이터 정합성 문제였다. v18.9의 migration이 해당 컬럼에 NOT NULL 제약조건을 추가하려다 PG::CheckViolation 에러가 발생했다. 해결책: NULL 값을 올바른 […]

Bell 
Infrastructure

systemd 서비스가 갑자기 멈췄을 때 — status=126, ExecStart 권한 문제 트러블슈팅

📌 핵심 요약 systemd 서비스가 status=126 또는 Main process exited, code=exited, status=203/EXEC로 실패하고 있다면, ExecStart에 지정된 스크립트의 실행 권한(+x)이 사라졌을 가능성을 먼저 확인하자. git checkout, git reset, 파일 재생성 등이 원인일 수 있다. 상황 어느 날 아침, 매시간 돌아야 할 데이터 수집 파이프라인이 약 8시간째 멈춰있다는 걸 발견했다. $ systemctl status data-pipeline.service ● data-pipeline.service – […]

Bell 
Infrastructure Kubernetes

Ingress Controller 전환 시 WebSocket 장애 사례 — 60초마다 끊기는 연결의 원인 추적

📌 📌 핵심 요약 Kubernetes 환경에서 NGINX Inc Ingress Controller에서 커뮤니티 ingress-nginx로 전환 후, 방화벽 장애 복구 이후 Mattermost WebSocket 연결이 정확히 60초마다 재연결을 반복한 인시던트. 근본 원인은 어노테이션 호환성 문제로, 기존 nginx.org/websocket-services 어노테이션이 ingress-nginx에서 무시되면서 proxy timeout이 기본값(60초)으로 동작해 WebSocket idle 연결이 끊긴 것으로 확인됨. 1. 환경 및 배경 인프라 구성 플랫폼: Kubernetes (자체 […]

Bell 
Kubernetes Minecraft

마인크래프트 서버 성능 튜닝 방법

안녕하세요, 방울입니다. 제가 어렸을 적부터 다양한 게임 서버를 운영해본 경험을 토대로 게임 서버의 성능을 최대한으로 이끌어내기 위한 팁을 공유하고자 이 포스트를 작성합니다. 해당 포스트는 마인크래프트 자바 에디션의 서버 (Forge, Fabric, Sponge 등 모드 서버 포함)를 기준으로 설명합니다. 서버에 적합한 하드웨어 선택 및 최적화 CPU 코어 클럭 속도가 가능한 최대한 높은 것으로 선정 (성능 영향: 최상) […]

Bell 
Infrastructure Kubernetes Operating system Windows

Windows WSL2 환경 Docker Desktop Kubernetes hostPath 마운트 방법

전제 조건 OS: Windows 10 or Windows 11 WSL2 기반 Ubuntu Docker Desktop Kubernetes 로컬 개발환경 구성 등을 위해 WSL2 기반 Ubuntu 내 디렉토리를 실시간으로 사용하기 위해 hostPath 마운트가 필요할 경우 1 단계 위 디버깅용 pod yaml 을 적용 2 단계 kubectl exec wsl2-debug-pod -it /bin/sh 디버깅용 pod 에 접속 cd /mnt/host 마운트한 디렉토리로 이동하여 […]

Bell