Part 9: 운영

지원 버전: Calico v3.29+ / Kubernetes 1.28+ 마지막 업데이트: 2026년 2월 22일

개요

이 문서에서는 Calico의 설치, 모니터링, 문제 해결, 업그레이드 및 백업/복구에 대한 운영 가이드를 제공합니다. 프로덕션 환경에서 Calico를 안정적으로 운영하기 위한 모범 사례를 다룹니다.

설치 가이드

방법 1: Tigera Operator (권장)

Tigera Operator는 Calico의 라이프사이클을 관리하는 권장 설치 방법입니다.

# 1. Tigera Operator 설치
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.29.0/manifests/tigera-operator.yaml

# Operator 준비 대기
kubectl wait --for=condition=available --timeout=300s deployment/tigera-operator -n tigera-operator
# 2. Installation CR 적용
apiVersion: operator.tigera.io/v1
kind: Installation
metadata:
  name: default
spec:
  # 네트워크 설정
  calicoNetwork:
    bgp: Enabled

    # IP Pool 설정
    ipPools:
      - cidr: 10.244.0.0/16
        encapsulation: VXLANCrossSubnet
        natOutgoing: Enabled
        nodeSelector: all()
        blockSize: 26

    # Node IP 자동 감지
    nodeAddressAutodetectionV4:
      kubernetes: NodeInternalIP

    # MTU 설정 (선택)
    # mtu: 1400

  # 컴포넌트 리소스
  componentResources:
    - componentName: Node
      resourceRequirements:
        requests:
          cpu: 200m
          memory: 256Mi
        limits:
          cpu: 1000m
          memory: 512Mi

    - componentName: Typha
      resourceRequirements:
        requests:
          cpu: 100m
          memory: 128Mi
        limits:
          cpu: 500m
          memory: 256Mi

    - componentName: KubeControllers
      resourceRequirements:
        requests:
          cpu: 100m
          memory: 128Mi
        limits:
          cpu: 500m
          memory: 256Mi

  # Typha 배포 설정
  typhaDeployment:
    spec:
      minReadySeconds: 10
      template:
        spec:
          tolerations:
            - key: CriticalAddonsOnly
              operator: Exists

  # 노드 업데이트 전략
  nodeUpdateStrategy:
    rollingUpdate:
      maxUnavailable: 1
    type: RollingUpdate

방법 2: Manifest 설치

방법 3: Helm 설치

설치 검증

calicoctl 명령어 레퍼런스

설치

노드 명령어

IPAM 명령어

Policy 명령어

리소스 명령어

Prometheus 메트릭

Felix 메트릭

주요 Felix 메트릭:

메트릭
설명
타입

felix_active_local_endpoints

활성 로컬 엔드포인트 수

Gauge

felix_active_local_policies

적용된 정책 수

Gauge

felix_iptables_save_time_seconds

iptables 저장 시간

Histogram

felix_iptables_restore_time_seconds

iptables 복원 시간

Histogram

felix_int_dataplane_failures_total

데이터플레인 실패 횟수

Counter

felix_route_table_list_seconds

라우트 테이블 조회 시간

Histogram

felix_calc_graph_update_time_seconds

그래프 업데이트 시간

Histogram

felix_resync_state

재동기화 상태

Gauge

BIRD 메트릭

Typha 메트릭

메트릭
설명
타입

typha_connections_accepted

수락된 연결 수

Counter

typha_connections_dropped

드롭된 연결 수

Counter

typha_connections_active

활성 연결 수

Gauge

typha_updates_total

전송된 업데이트 수

Counter

typha_breadcrumb_block_seconds

브레드크럼 블록 시간

Histogram

Grafana 대시보드

주요 패널 구성

Alert 규칙

PrometheusRule 설정

로그 분석

Felix 로그

일반적인 Felix 로그 메시지:

메시지 패턴
의미
조치

Resync starting

재동기화 시작

정상

Resync complete

재동기화 완료

정상

Failed to connect to Typha

Typha 연결 실패

Typha 상태 확인

Failed to update iptables

iptables 업데이트 실패

커널/권한 확인

Endpoint deleted

엔드포인트 삭제됨

정상 (Pod 삭제 시)

BIRD 로그

로그 레벨 설정

트러블슈팅 상세

1. Pod가 IP를 받지 못하는 경우

2. Pod 간 통신 실패

3. Network Policy가 작동하지 않음

4. BGP 피어링 실패

헬스체크 자동화

헬스체크 스크립트

Kubernetes Job으로 실행

버전 업그레이드

Rolling Upgrade (Operator 사용)

Canary 업그레이드

롤백 절차

백업 및 재해 복구

백업 대상

항목
백업 방법
빈도

Calico 리소스

calicoctl export

일간

Installation CR

kubectl export

변경 시

IPPool 설정

calicoctl export

변경 시

Network Policy

kubectl export

변경 시

BGP 설정

calicoctl export

변경 시

백업 스크립트

복구 절차

모범 사례

1. 보안 강화

2. 관측성 설정

3. 성능 최적화

4. 리소스 관리


다음 단계

참고 자료

퀴즈

이 장에서 배운 내용을 테스트하려면 운영 가이드 퀴즈를 풀어보세요.

마지막 업데이트