피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Heterogeneous LLM Fleet을 위한 선언적 자동 업데이트 제어 평면 구축
Making a fleet of self-hosted LLM agents trustworthy
AI 요약
Context
CUDA 및 Apple Silicon 기반의 혼합 노드 환경에서 개별 수동 업데이트로 인한 버전 불일치와 상태 추적 불가 현상이 발생함. 특히 launchd의 무반응 업데이트로 인해 실제 실행 바이너리와 제어 평면의 인지 상태가 괴리되는 가시성 결여 문제가 병목 지점으로 작용함.
Technical Solution
- AgentRelease CRD 도입을 통한 버전 및 플랫폼별 SHA-256 아티팩트의 선언적 관리 구조 설계
- Outbound-only Polling 모델을 적용하여 NAT 및 Tailscale 환경의 Edge 노드 접근성 확보
- Atomic Symlink 전환 방식을 통한 바이너리 교체 및 이전 버전으로의 즉각적 Rollback 메커니즘 구현
- Health-gated Rollout 전략을 통해 단일 노드 업데이트 후 Soak window 검증을 거쳐 순차 배포함으로써 Blast radius 최소화
- Heartbeat 기반의 Liveness 체크와 Validating Webhook 도입으로 상태 보고의 신뢰성 및 설정 무결성 확보
- Kind 기반의 E2E 테스트 파이프라인을 구축하여 Install부터 Task 실행까지의 전 과정 자동 검증
실천 포인트
- 분산 노드 환경에서 바이너리 업데이트 시 SHA-256 검증과 Atomic Symlink 교체 패턴 적용 검토 - 제어 평면의 상태 정보가 실제 노드 상태와 일치하는지 Heartbeat 기반의 실시간 검증 로직 구현 - 배포 실패 시 피해 범위를 단일 노드로 제한하는 Staged Rollout 및 Halt-on-failure 전략 수립 - 인프라 설정 오류를 사전에 차단하기 위한 Admission Validation 단계의 Webhook 도입 고려