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

클로드와 OpenAI 사용을 위한 모델 라우팅 기준선
한 개발자가 Claude Haiku 4.5, Sonnet 4.6, Opus 4.6 및 ChatGPT 5.3 Codex를 다양한 작업 유형에 사용하는 모델 라우팅 전략을 공유하며, 필요 시 GPT-5 Mini와 GPT-5.4로 폴백합니다.

작은 로컬 모델에서 코딩 에이전트를 실행할 때 발생하는 문제점
7B 미만 모델로 다중 파일 작업을 테스트하면서 발견한 실제 실패 지점: 마크다운 펜스, 구조화된 출력 신뢰성, 파일 편집 오류, 읽기/쓰기 작업 분류.

AI 모델 선택 그만 묻기: 작업을 Haiku, Sonnet, Opus 계층으로 라우팅하세요
작업 유형별로 최소 세 가지 모델을 사용하세요: 읽기/요약에는 Haiku 등급, 코드 작성에는 Sonnet 등급, 다중 파일 리팩터와 디버깅에만 Opus 등급을 사용하세요. 한 사용자의 설정은 40%는 저렴한 모델, 35%는 중간, 25%는 최고 성능 모델에 할당하여 월 약 $30-40의 비용이 듭니다.

OpenClaw 작업 공간 구성: 두 달 사용 후 얻은 교훈
OpenClaw 개발자의 경험에 따르면 작업 공간 품질이 에이전트 성능에 5-10배 영향을 미치며, SOUL.md, AGENTS.md, MEMORY.md, USER.md 및 스킬 구성에 대한 구체적인 지침이 제공됩니다.