CiliumCIDRGroup

CiliumCIDRGroup (CCG)

CiliumCIDRGroup(CCG)는 관리자가 여러 CIDR 블록을 하나의 그룹으로 묶어 참조할 수 있게 해주는 기능이에요. CiliumNetworkPolicy에서 외부 CIDR 그룹에 대한 정책을 적용할 때 특히 유용해요.

출처: CiliumCIDRGroup

본문

CiliumCIDRGroup(CCG)은 관리자가 CiliumNetworkPolicy 안에서 CIDR 블록 그룹을 참조할 수 있게 해주는 기능이에요. Cilium 에이전트가 관리하는 Endpoint CRD 리소스와 달리, CiliumCIDRGroup 리소스는 관리자가 직접 관리하도록 설계됐어요. 외부 CIDR 블록 그룹에 정책을 적용할 때 특히 유용해요. 또한 CiliumCIDRGroup에 참조된 CIDR로 가는 모든 트래픽은 Hubble flow에 CCG의 이름과 라벨로 주석이 달려요.

다음은 CiliumCIDRGroup 객체의 예시예요:

apiVersion: cilium.io/v2alpha1
kind: CiliumCIDRGroup
metadata:
  name: vpn-example-1
  labels:
    role: vpn
spec:
  externalCIDRs:
    - "10.48.0.0/24"
    - "10.16.0.0/24"

CCG는 CiliumNetworkPolicy에서 fromCIDRSet 지시어를 사용해 참조할 수 있어요. CCG는 이름이나 라벨로 선택할 수 있어요.

apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
  name: from-vpn-example
spec:
  endpointSelector: {}
  ingress:
  ## select by name
  - fromCIDRSet:
    - cidrGroupRef: vpn-example-1
  ## alternatively, select by label:
  - fromCIDRSet:
    - cidrGroupSelector:
        matchLabels:
          role: vpn

이 예시에서 CNP의 fromCIDRSet 지시어는 CiliumCIDRGroup에 정의된 vpn-example-1 그룹을 참조해요. 이를 통해 CNP는 vpn-example-1 이름 아래 그룹화된 CIDR을 기준으로 인그레스 규칙을 적용할 수 있어요.

확장성 영향 (Scalability impacts)

CiliumCIDRGroup은 일반적으로 그룹당 하나의 보안 identity(security identity)를 생성해요. 그룹이 클수록 큰 절약 효과를 볼 수 있어요. 많은 수의 CIDR을 선택해야 한다면 CiliumCIDRGroup을 사용하는 것이 좋아요.

더 알아보기 (Learn more)