GKE에서 WireGuard 충돌 및 MTU 불일치 버그 탐색

러블의 인프라 팀이 Google Kubernetes Engine(GKE)에서 발생한 클러스터 전체 네트워킹 문제를 디버깅하여 간헐적인 연결 실패를 해결했습니다. AI 에이전트를 사용해 Clickhouse 로그를 스캔한 결과, anetd 파드(Google의 Cilium 구현)가 6일 동안 파드당 약 120번(거의 시간당 한 번) 충돌한 것을 발견했습니다. 크래시 덤프에서 WireGuard 자체가 아닌 Google의 WireGuard 통합 코드에서 동시 맵 접근 패닉이 발생한 것으로 나타났습니다.
첫 번째 수정: 투명 암호화 비활성화
Google 지원팀에서 WireGuard 버그를 우회하기 위해 노드 간 암호화를 비활성화할 것을 권장했습니다. 팀이 변경 사항을 적용하고 모든 anetd 파드를 재시작했습니다. 충돌은 약 4시간 동안 멈췄지만, 사용자들이 Valkey(인메모리 데이터 저장소)에 대한 임의의 연결 실패를 보기 시작했습니다.
두 번째 버그: MTU 불일치
엔지니어 Erik이 tcpdump와 Wireshark로 패킷을 캡처했습니다. 결정적 증거는 "목적지 도달 불가 (단편화 필요)"였습니다. 원인은 다음과 같습니다:
- WireGuard가 활성화된 상태에서 클러스터 MTU는 1420바이트로 설정되었습니다(WireGuard의 80바이트 캡슐화 오버헤드 고려).
- WireGuard를 비활성화한 후, 구성은 표준 1500바이트로 되돌아갔어야 했지만 일부 노드가 재시작되지 않아 여전히 이전 1420 MTU를 사용했습니다.
- MTU가 일치하지 않는 노드를 통과하는 Valkey 연결이 간헐적으로 실패했습니다.
해결 방법
해결책: 모든 노드의 롤링 재시작을 통해 클러스터 전체에 일관된 MTU 구성을 적용했습니다. 이로 인해 단편화 오류가 제거되고 안정성이 복원되었습니다.
주요 시사점
- 첫 번째 버그는 Google의
anetd가 WireGuard를 통합한 부분에서 발생한 맵 접근의 동시성 버그로, GKE 구현에 특화된 문제입니다. - 암호화를 비활성화하면 패닉은 우회할 수 있지만, 전체 노드 롤아웃이 필요한 MTU 불일치가 발생합니다.
- AI 에이전트는 수백만 개의 로그 라인에서 anetd 충돌 패턴을 신속하게 파악하는 데 도움을 주었습니다.
📖 전체 소스 읽기: HN AI Agents
👀 See Also

서드파티 하네스 지원 중단 후 OpenClaw 에이전트를 Claude Code로 이전하기
Anthropic이 서드파티 하네스 지원을 중단한 후, 한 개발자가 17개의 OpenClaw 에이전트를 Claude Code로 한 오후 만에 이전했습니다. 이 과정에는 기존 에이전트 로직을 보존하면서 CLAUDE.md 진입점 생성, bash 래퍼 스크립트 작성, cron 작업 설정이 포함되었습니다.

로컬에서 Qwen3.5-27B 설정하기: vLLM vs llama.cpp 비교
레딧 사용자가 Qwen3.5-27B를 로컬에서 실행하는 실용적인 팁을 공유하며, llama.cpp와 vLLM 백엔드를 특정 구성 권장사항과 벤치마크 결과와 함께 비교합니다.

Claude를 사용하여 쓰기 패턴을 분석하여 맞춤형 지침을 개선하기
레딧 사용자가 주관적인 어조 설명에 의존하기보다는 구두점 회피와 비유 출처와 같은 구체적인 패턴을 식별하기 위해 클로드가 10개의 글쓰기 샘플을 분석하도록 하는 방법을 통해 더 효과적인 맞춤 지침을 만드는 방법을 설명했습니다.

구독 모델을 활용한 비용 효율적인 OpenClaw 멀티 에이전트 설정
레딧 사용자가 원시 API 호출 대신 기존의 200달러 Anthropic Pro Max와 200달러 ChatGPT OpenAI Codex 구독을 통해 모든 OpenClaw 다중 에이전트 작업을 라우팅하는 방법을 설명하며, 간단한 에이전트에는 더 저렴한 Anthropic 모델을, 다른 작업에는 더 복잡한 모델을 사용합니다.