본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

글로벌 네트워크 셋(Global network set)

원문 보기 위키 갱신

GlobalNetworkSet은 네임스페이스에 속하지 않는 클러스터 범위의 IP 서브넷/CIDR 집합을 정의하는 리소스예요. Calico가 관리하지 않는 외부 네트워크 트래픽에 정책을 적용할 때 유용합니다. 이 문서는 GlobalNetworkSet의 개념, YAML 예제, 스펙 정의를 소개해요.

출처: 문서

본문

글로벌 네트워크 셋 리소스(GlobalNetworkSet)는 임의의 IP 서브넷/CIDR 집합을 나타내며, Calico 정책으로 매칭될 수 있어요. 네트워크 셋은 Calico가 관리하지 않는 외부 네트워크에서 오거나 그쪽으로 가는 트래픽에 정책을 적용할 때 유용합니다.

각 네트워크 셋의 메타데이터에는 라벨 집합이 포함돼요. Calico가 글로벌 네트워크 정책 규칙 안의, 또는 namespaceSelector에 global()이 포함된 네트워크 정책 규칙 안의 소스/목적지 셀렉터에 매칭되어야 할 IP 집합을 계산할 때, 그 셀렉터에 매칭되는 네트워크 셋들의 CIDR을 포함시킵니다.

참고: Calico는 패킷의 소스/목적지 IP 주소를 기준으로 매칭하기 때문에, Calico가 활성화된 노드와 네트워크 셋에 나열된 네트워크 사이에 NAT가 있으면 규칙이 의도대로 동작하지 않을 수 있어요. 예를 들어 Kubernetes에서 서비스 IP로 들어오는 트래픽은 도착 호스트에 도달하기 전에 kube-proxy가 SNAT하는 것이 일반적이라, Calico의 워크로드 정책은 실제 소스 대신 kube-proxy가 돌던 호스트의 IP를 소스로 봅니다.

샘플 YAML

apiVersion: projectcalico.org/v3
kind: GlobalNetworkSet
metadata:
  name: a-name-for-the-set
  labels:
    role: external-database
spec:
  nets:
    - 198.51.100.0/28
    - 203.0.113.0/24

글로벌 네트워크 셋 정의

메타데이터

Field Description Accepted Values Schema
name The name of this network set. Lower-case alphanumeric with optional - or -. string
labels A set of labels to apply to this endpoint. map

스펙

Field Description Accepted Values Schema Default
nets The IP networks/CIDRs to include in the set. Valid IPv4 or IPv6 CIDRs, for example "192.0.2.128/25" list

더 알아보기 (Learn more)

GlobalNetworkSet은 네임스페이스와 무관하게 클러스터 전체에서 참조할 수 있는 CIDR 묶음이에요. GlobalNetworkPolicy에서 쓰거나, global()을 네임스페이스 셀렉터에 넣은 NetworkPolicy에서 참조할 수 있습니다.