플랫폼, 데브옵스와 클라우드

엣지와 분산 배포

meellon 2026. 7. 8. 05:40

학습 목표

엣지 컴퓨팅중앙 클라우드다른 요구(지연·대역·오프라인)를 가지는 이유설명할 수 있다.

K3s경량 Kubernetes 배포 모델엣지 하드웨어 제약연결설명할 수 있다.

오프라인·간헐 연결 로컬 처리·버퍼·동기화 패턴설계할 수 있다.

GitOps·멀티클러스터 패턴엣지 클러스터적용하는 방식설명할 수 있다.

문제 상황

  • 공장·매장 센서클라우드 왕복 200ms·대역 비용 폭증
  • 선박·광산·농장연결 끊김 시간·실시간 제어 필수
  • K8s 엣지4GB RAM 미만 게이트웨이에서 control plane OOM
  • 수동 USB 배포버전 드리프트·보안 패치 누락
  • 중앙 DB 신뢰엣지 캐시 불일치·충돌 처리
  • 멀티클러스터 DR있고현장 지연·오프라인 요구 반영

앞서 멀티클러스터리전·DR 단위 확장다뤘다. 마지막 유저·데이터 근처소형 클러스터(엣지)와 클라우드 허브 분산 배포다.

1. 엣지가 필요한 이유

요구 클라우드 엣지 추가
지연 RTT 누적 로컬 처리 ms 단위
대역 영상·로그 전송 비용 요약·필터 업링크
가용성 링크 장애 = 중단 오프라인 자율 동작
규제 데이터 외부 반출 현장 보관·선택 동기화
규모 수천 사이트 중앙 집중 사이트 격리
엣지 적합: 실시간 제어, 비전 추론, 로컬 집계, intermittently connected
클라우드 적합: 학습, 글로벌 집계, 장기 보관, 복잡 분석

Well-Architected Performance워크로드를 데이터 근처로 (18편). Network 시리즈 지연·라우팅병행.

2. K3s와 경량 Kubernetes

K3sRancher 기반 경량 K8s 배포. 단일 바이너리·내장 containerd·SQLite etcd 대안.

  K8s (EKS 등) K3s
메모리 노드 GB 512MB 가능
설치 관리형·kubeadm curl agent/server
구성 전체 control plane 경량·옵션 제거
적합 DC·클라우드 엣지·IoT·개발
# code/k3s-install.example.sh
curl -sfL https://get.k3s.io | sh -s - server \
  --disable traefik \
  --write-kubeconfig-mode 644

# edge agent joins server URL + token
curl -sfL https://get.k3s.io | K3S_URL=https://hub.example.com:6443 \
  K3S_TOKEN=<token> sh -
대안  
MicroK8s snap·단일 노드 개발
KubeEdge 클라우드 + 엣지 노드 분리·오프라인 메타
OpenYurt 엣지 노드 클라우드 통합 스케줄

호환K3s표준 K8s API·kubectl·Helm 사용 (5편 오브젝트 그대로).

3. 엣지-클라우드 토폴로지

레이어  
Cloud hub GitOps·중앙 관측·모델 레지스트리·장기 스토리지
연결 VPN·private link·간헐 LTE
Edge site K3s·로컬 워크로드·센서 게이트웨이
데이터 로컬· 동기화·콜드 클라우드
# code/edge-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: vision-inference
  namespace: edge
spec:
  replicas: 1
  selector:
    matchLabels:
      app: vision-inference
  template:
    metadata:
      labels:
        app: vision-inference
    spec:
      nodeSelector:
        node-role.kubernetes.io/edge: "true"
      tolerations:
        - key: edge
          operator: Equal
          value: "true"
          effect: NoSchedule
      containers:
        - name: infer
          image: registry.example.com/vision:sha-abc123
          resources:
            requests:
              cpu: 500m
              memory: 512Mi
            limits:
              memory: 1Gi
스케줄링  
nodeSelector 엣지 전용 노드
taint/toleration 일반 워크로드 유입 방지
DaemonSet 노드 에이전트·수집기
리소스 한도 작은 VM·ARM 보드 현실 반영

4. 오프라인과 동기화

간헐 연결엣지진실 원천구간클라우드 집계 구간나눈다.

패턴  
Store-and-forward 로컬 ·S3 버퍼연결 업로드
Edge DB SQLite·로컬 TSDB주기 스냅샷 동기화
Config pull GitOps agentoffline 마지막 sync 상태 유지
Conflict LWW·버전 벡터·도메인 단일 writer
온라인:  edge ──metrics/logs──▶ cloud hub
오프라인: edge ──▶ local buffer ──(reconnect)──▶ cloud hub
주의  
멱등 업로드 재연결 중복 방지
시계 skew NTP 또는 논리 시간
보안 버퍼 암호화·디스크 암호화 (8편 Secret)
모델 업데이트 에어갭 번들·서명 검증

관리형 메시징SQS·MQTT 브로커엣지 이벤트 흡수 (17편).

5. GitOps와 운영

멀티클러스터 GitOps(20편)를 엣지확장사이트 많고 연결 불안정.

# code/argocd-edge-application.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: edge-vision-site-42
  namespace: argocd
spec:
  project: edge
  source:
    repoURL: https://github.com/org/gitops-manifests
    targetRevision: main
    path: apps/vision/overlays/site-42
  destination:
    name: edge-site-42
    namespace: edge
  syncPolicy:
    syncOptions:
      - ApplyOutOfSyncOnly=true
    retry:
      limit: 5
      backoff:
        duration: 30s
        factor: 2
엣지 GitOps  
Overlay per site 카메라 ID·로케일 다름
Retry backoff 간헐 API 대응
OCI 번들 에어갭USB·로컬 레지스트리
버전 현장 검증 승격

관측엣지 로컬 Prometheus·버퍼연결 remote write (6_Observability). 알람현장 임계 로컬 처리 + 클라우드 집계.

6. 트레이드오프와 체크리스트

엣지 채택 중앙 유지
ms 지연·오프라인 필수 단일 DC·안정 링크
사이트 100+ 독립 운영 인력 부족
데이터 현장 체류 규제 글로벌 단일 필요
항목 권장
하드웨어 ARM·디스크 여유·fanless 설계
K8s K3s 또는 관리 엣지 플랫폼 control plane 지양
이미지 로컬 레지스트리·미러pull 실패 대비
오프라인 버퍼 용량·보존 정책 명시
보안 mTLS·디스크 암호화·물리 접근 통제
테스트 링크 차단 카오스 드릴

7. 정리

  • 엣지지연·대역·오프라인·데이터 현장 체류
  • K3s경량 K8s소형 사이트 운영
  • 동기화버퍼·충돌 정책·GitOps retry
  • 클라우드 허브 + 엣지 많음20편 멀티클러스터 패턴 확장

다음에 다룰 것

  • 플랫폼 · DevOps · Cloud 시리즈 에필로그 — 개념 정리·확장·학습 경로

해당 내용은 K3s Documentation 및 Production Kubernetes 의 내용을 기반으로 합니다.

'플랫폼, 데브옵스와 클라우드' 카테고리의 다른 글

Platform Series를 마치며  (0) 2026.07.09
멀티클러스터  (0) 2026.07.07
서비스 메시  (0) 2026.07.06
Well-Architected  (0) 2026.07.05
관리형 서비스  (1) 2026.07.04