2026 OpenClaw Gateway 헬스체크와 롤링 업데이트
Docker Compose·Kubernetes 프로브와 무중단 Runbook

약 20분 읽기 · MACCOME

2026년에 Docker 또는 Kubernetes에서 OpenClaw Gateway를 운용하는 팀은 배포를 빠르게 돌리면서도 종종 「컨테이너가 떠 있다」를 건강으로 봅니다. HTTP 프로브 경로, readiness 의미, 롤링 파라미터를 같은 변경 티켓에 두지 않으면 콜드 스타트 중 liveness kill, readiness 없이 컨테이너만 기다리는 depends_on로 인한 간헐적 502, 프로바이더 429를 Gateway 다운으로 오인한 끝없는 재시작이 납니다. 본문은 《Docker 프로덕션 런북》《업그레이드·마이그레이션》《프로바이더 라우팅·페일오버》와 범위를 맞추고, RCA용 함정 여섯, liveness·readiness·startup 매트릭스, Compose 대 Kubernetes 매핑, 붙여 넣을 YAML 조각, 여섯 단계 롤아웃 런북, 대시보드 지표 세 가지를 정리합니다. 안정적인 원격 Mac 실행면 배치도 다룹니다.

「포트 열림」에서 올바른 의미론으로: 프로브 함정 여섯 가지

최근 OpenClaw 릴리스는 오케스트레이션 친화적 HTTP 엔드포인트를 추가합니다(정확한 경로와 포트는 고정한 이미지 태그와 릴리스 노트를 따릅니다. /health, /ready, /healthz 같은 이름이 생태계에 나타납니다). 아래 여섯 패턴을 RCA에 남기고 《설치 후 doctor 분류》의 어휘를 재사용합니다.

  1. liveness가 「프로세스는 올랐으나 업무 미준비」에 닿는 경우: 콜드 스타트에서 라우팅 테이블이나 로컬 상태를 읽는 동안 이른 200은 트래픽을 받아들이고, 이른 실패는 kubelet kill을 부릅니다.
  2. readiness가 외부 모델에 강하게 묶이는 경우: 스로틀링이 클러스터 전체에서 엔드포인트를 뺄 수 있습니다. SLO와 전역 장애 해석이 맞는지 확인합니다.
  3. Compose depends_on에 health 조건이 없는 경우: Gateway가 백엔드 소켓에 닿기 전에 종속 서비스가 뜨며 간헐적 502가 납니다.
  4. localhost 프로브와 Service 경로의 차이: Pod 안 127.0.0.1은 되지만 ClusterIP는 실패해 앱 장애로 오독합니다.
  5. 공격적인 maxUnavailable: 새 Pod가 readiness를 통하기 전 옛 Pod가 비워져 짧은 full-red 창이 생깁니다.
  6. 로그 층이 섞이는 경우: TLS 종단, 프록시 타임아웃, Gateway 오류가 합쳐져 프로브만 무분별하게 조입니다.

크로스플랫폼 설치》와 비교하면 설치는 첫 부팅, 프로덕션은 장기 운용, 본문은 오케스트레이터가 건강을 판단하는 방식, 업그레이드 편은 이미지 이동과 롤백을 다룹니다.

표 1: liveness, readiness, startup 프로브—책임 나누기

Kubernetes 프로브 유형은 Docker healthcheck 재시작 의미와 1:1로 대응하지 않습니다. 아키텍처 리뷰에서 표를 사용합니다.

점검전형적 실패 효과검증 대상OpenClaw 지침
startupProbe성공 전까지 liveness 실패 억제느리지만 상한 있는 콜드 스타트첫 설정 fetch, 인덱스, 의존 대기에 수 분 걸릴 때 씁니다
livenessProbe컨테이너·Pod 재시작데드락, 무반응 프로세스외부 LLM에 의존하지 않고 최소 자가 점검만 둡니다
readinessProbeService 엔드포인트에서 제거트래픽 수신 준비 미완경량 모델 핑이나 설정 로드 완료 신호를 넣을 수 있으나 페일오버 정책에 맞춥니다
Docker healthcheck비정상 표시, 재시작은 정책에 따름단일 호스트 Composedepends_on: condition: service_healthy와 짝을 이룹니다(문법은 Compose v2 문서 기준)

표 2: Compose와 Kubernetes에서 같은 건강 요구를 표현하기

「건강」을 구체 필드로 내리면 자정 논쟁이 줄어듭니다.

차원Docker Compose(패턴)Kubernetes Deployment
프로브 수단healthcheck.test에 curl·wgethttpGet 또는 exec
기동 유예start_periodstartupProbe 또는 큰 initialDelaySeconds
트래픽 분리프록시·LB 층 또는 라벨에만 의존readinessProbe가 Endpoints 제어
롤링수동 compose 순서 또는 외부 CDmaxSurge·maxUnavailable·minReadySeconds
yaml
# 예—PORT와 경로는 태그 문서 값으로 바꾸세요
# Docker Compose(발췌)
healthcheck:
  test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:${GATEWAY_PORT}/health || exit 1"]
  interval: 15s
  timeout: 3s
  retries: 5
  start_period: 120s

# Kubernetes(발췌)
readinessProbe:
  httpGet:
    path: /ready
    port: http
  initialDelaySeconds: 10
  periodSeconds: 10
livenessProbe:
  httpGet:
    path: /health
    port: http
  initialDelaySeconds: 30
  periodSeconds: 20
warning

주의: 업스트림은 2026.3.x 스타일 릴리스에서 /health, /ready, /healthz를 추가하거나 이름을 바꿀 수 있습니다. 조각을 복사하기 전 공식 문서에서 digest·태그를 확인하고 스테이징에서 컨테이너 안 curl -v로 검증합니다.

여섯 단계 롤아웃 런북: curl 200에서 롤백 친화적 롤링까지

  1. 버전 앵커를 기록합니다: 이미지 digest 또는 마이너 태그와 문서화된 헬스 경로·포트를 남깁니다.
  2. 컨테이너 안에서 검증합니다: docker compose exec 또는 kubectl exec127.0.0.1을 두드린 뒤 Service 경로를 확인합니다.
  3. readiness를 liveness보다 먼저 안정화합니다: readiness와 startup을 고른 뒤 liveness를 조여 기동 중 kill을 피합니다.
  4. 롤링 파라미터를 조정합니다: 항상 최소 한 레플리카가 응답하도록 두고 maxUnavailable과 유지보수 창을 문서화합니다.
  5. 프로바이더 페일오버를 맞춥니다: 외부 모델 실패 시 부하 감소·모델 전환·알림만 할지 프로바이더 글에 따라 적습니다.
  6. 롤백을 연습합니다: 업그레이드 체크리스트에 따라 이미지 태그와 볼륨을 되돌리고, 이전 빌드에서도 프로브가 일치하는지 확인합니다.

대시보드와 당번을 위한 세 가지 단단한 지표

  1. 프로브 삼총사: HTTP 코드, 지연 백분위, 연속 실패를 Ingress 502율 옆에 둡니다.
  2. 배포 중 Ready 레플리카·desired: readiness가 100%로 돌아오는 시간을 알리고, 잦은 소규모 릴리스가 그 창을 압축합니다.
  3. 외부 의존 오류 비중: 프로바이더 429·5xx와 Gateway 내부 오류를 나누고 프로바이더 라우팅 글과 필드를 공유합니다.

Linux systemd·Tunnel》 경로에서는 터널 건강, 루프백 리스너, 상위 LB 점검을 맞추지 않으면 「터널은 살아 있으나 Gateway가 안 듣는다」는 위양성이 납니다.

kubectl rollout status나 compose 업그레이드 로그를 Git 변경과 대조해 프로브를 과도하게 조인 경우와 이미지 퇴행을 가릅니다.

왜 소비자용 NAS나 여분 노트북은 프로덕션급 프로브 의미론에 약한가

소비자 기기는 절전, 디스크 지터, 계획 없는 OS 업데이트와 싸우며 기동 시간과 프로브 임계값이 흔들립니다. 롤링 창과 겹치면 당번 시간을 태웁니다. OpenClaw와 에이전트를 기대할 수 있는 SLA로 돌리려면 전용 연산, 안정적 이그레스, 버스트 친화 노드가 필요합니다.

파편화된 셀프호스트는 멀티리전 지연과 계약 운영도 어렵고, 프로브 조정과 호스트 재부팅 결합이 노트북에서 특히 아픕니다. 24시간 관측·롤링·롤백에 유리한 Gateway에는 전문 멀티리전 Apple Silicon 클라우드 Mac이 애드혹 하드웨어보다 유리한 경우가 많습니다. MACCOMEMac Mini M4·M4 Pro 베어메탈을 유연한 조건으로 제공하며 Gateway나 혼합 자동화 호스트로 씁니다. 먼저 《고객 센터》에서 접속을 확인하고 《대여 요금》과 《멀티리전 가이드》로 SKU를 확정하십시오.

파일럿에서는 목표 리전에서 단기 대여로 컨테이너 프로브, Service 프로브, 전체 롤링 연습을 한 번 통과한 뒤 월·분기 약정을 고정합니다.

자주 묻는 질문

프로브는 실패하는데 UI는 열립니다. 무엇이 기준인가요?

오케스트레이터가 검사하는 URL과 상태 코드입니다. 과금 맥락은 《대여 요금》을 보고, 프로브는 스테이징에서 컨테이너 안 curl로 재현합니다.

Docker 프로덕션 글과 어떻게 쓰나요?

프로덕션 편은 볼륨과 토큰을, 본문은 프로브와 롤아웃을 다룹니다. 《업그레이드·마이그레이션》까지 같은 변경에 붙이십시오.

429를 liveness에 태울까요?

일반적으로 아닙니다. 《프로바이더 라우팅·페일오버》에서 백오프와 라우팅을 다루고, readiness 결합은 명시적 SLO 선택입니다.