긴급: 이 문제로 인해 CI/CD 푸시 배포가 실패하고 있습니다. 워크로드는 여전히 실행 중이지만 새 코드를 배포할 수 없습니다.
환경:
- Tencent Cloud VM에서 셀프 호스팅 (Ubuntu 24, k3s v1.32.4+k3s1)
- nats:2.10.7-alpine, 모든 Zeabur 구성 요소 실행 중
증상:
- 대시보드에서 개별 서비스를 보거나 관리할 수 없음
- 실제 워크로드는 트래픽을 정상적으로 처리 중 (HTTPS 200)
- zeabur-kube-watch가 지속적으로 로그 출력: nats: API error: code=503 err_code=10023 description=insufficient resources
진단 결과:
-
nats-0에서 JetStream이 비활성화됨: $ wget -qO- http://localhost:8222/jsz { "disabled": true, "config": { "max_memory": 0, "max_storage": 0 }, "streams": 0, "consumers": 0, "messages": 0, "bytes": 0 }
-
nats.conf에 jetstream 블록이 없음: port: 4222 pid_file: "/var/run/nats/nats.pid" http: 8222 server_name: $POD_NAME lame_duck_grace_period: 10s lame_duck_duration: 30s authorization: { user: admin, password: "..." }
-
PVC nats-data-nats-0 (1Gi, local-path)는 Bound 상태이지만 nats 컨테이너에 마운트되지 않음 — 컨테이너 내부의
mount명령어를 확인하면 /data 경로가 없음. -
nats 컨테이너의 메모리 제한은 128Mi이지만 GOMEMLIMIT 환경 변수는 4GiB로 설정됨.
-
nats-0 재시작(kubectl delete pod)은 도움이 되지 않음 — 근본 원인이 kube-watch가 JetStream이 비활성화된 서버에 JetStream 프로토콜로 통신하려고 시도하기 때문임.
질문:
zeabur-kube-watch가 JetStream을 사용하도록 설계되었나요? 그렇다면 왜 번들된 nats.conf에서 JetStream이 활성화되어 있지 않나요?- 기존 nats-0에서 JetStream을 안전하게 활성화할 방법이 있나요, 아니면 서버 업데이트를 기다려야 하나요?
- 이 상태로 두면 워크로드에 영향이 있나요?