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을 사용하는 것이 좋아요.