2.2. OVN-Kubernetes BaselineAdminNetworkPolicy


2.2.1. BaselineAdminNetworkPolicy

BaselineAdminNetworkPolicy (BANP)는 클러스터 범위의 사용자 정의 리소스 정의(CRD)입니다. OpenShift Container Platform 관리자는 BANP를 사용하여 필요한 경우 NetworkPolicy 객체를 사용하여 사용자가 재정의할 수 있는 선택적 기준 네트워크 정책 규칙을 설정하고 적용할 수 있습니다. BANP에 대한 규칙 동작은 허용 또는 거부 입니다.

BaselineAdminNetworkPolicy 리소스는 전달된 트래픽 정책이 클러스터의 NetworkPolicy 개체와 일치하지 않는 경우 가드레일 정책으로 사용할 수 있는 클러스터 싱글톤 개체입니다. BANP는 클러스터 내부 트래픽이 기본적으로 차단되도록 하는 가드레일을 제공하는 기본 보안 모델로도 사용할 수 있으며, 사용자는 NetworkPolicy 객체를 사용하여 알려진 트래픽을 허용해야 합니다. BANP 리소스를 생성할 때는 이름으로 default를 사용해야 합니다.

BANP를 통해 관리자는 다음을 지정할 수 있습니다.

  • 네임스페이스 또는 네임스페이스의 집합으로 구성된 주제 입니다.
  • 해당 주체 에 대한 모든 수신 트래픽에 적용될 수신 규칙 목록입니다.
  • 해당 주체 의 모든 이탈 트래픽에 적용될 이탈 규칙 목록입니다.
BaselineAdminNetworkPolicy 예제

예 2.5. BANP에 대한 YAML 파일 예시

apiVersion: policy.networking.k8s.io/v1alpha1
kind: BaselineAdminNetworkPolicy
metadata:
  name: default 
1

spec:
  subject:
    namespaces:
      matchLabels:
          kubernetes.io/metadata.name: example.name 
2

  ingress: 
3

  - name: "deny-all-ingress-from-tenant-1" 
4

    action: "Deny"
    from:
    - pods:
        namespaceSelector:
          matchLabels:
            custom-banp: tenant-1 
5

        podSelector:
          matchLabels:
            custom-banp: tenant-1 
6

  egress:
  - name: "allow-all-egress-to-tenant-1"
    action: "Allow"
    to:
    - pods:
        namespaceSelector:
          matchLabels:
            custom-banp: tenant-1
        podSelector:
          matchLabels:
            custom-banp: tenant-1
Copy to Clipboard Toggle word wrap
1
BANP는 싱글톤 객체이므로 정책 이름은 default 여야 합니다.
2
ANP를 적용할 네임스페이스를 지정합니다.
3
BANP에는 진입 및 진출 규칙이 모두 있습니다. spec.ingressspec.egress 필드에 대한 BANP 규칙은 action 필드에 대해 DenyAllow 값을 허용합니다.
4
ingress.name 에 대한 이름을 지정하세요.
5
BANP 리소스를 적용할 포드를 선택할 네임스페이스를 지정합니다.
6
BANP 리소스를 적용할 포드의 podSelector.matchLabels 이름을 지정합니다.
BaselineAdminNetworkPolicy 거부 예

다음 BANP 싱글턴은 관리자가 내부 보안 수준에서 테넌트로 들어오는 모든 유입 모니터링 트래픽에 대한 기본 거부 정책을 설정했는지 확인합니다. "AdminNetworkPolicy Pass 예시"와 결합하면 이 거부 정책은 ANP 패스 모니터링 정책에 의해 전달되는 모든 유입 트래픽에 대한 가드레일 정책 역할을 합니다.

예 2.6. 가드레일 거부 규칙에 대한 YAML 파일 예

apiVersion: policy.networking.k8s.io/v1alpha1
kind: BaselineAdminNetworkPolicy
metadata:
  name: default
spec:
  subject:
    namespaces:
      matchLabels:
        security: internal
  ingress:
  - name: "deny-ingress-from-monitoring"
    action: "Deny"
    from:
    - namespaces:
        matchLabels:
          kubernetes.io/metadata.name: monitoring
# ...
Copy to Clipboard Toggle word wrap

작업 필드에 Pass 값이 있는 AdminNetworkPolicy 리소스를 BaselineAdminNetworkPolicy 리소스와 함께 사용하여 다중 테넌트 정책을 만들 수 있습니다. 이 다중 테넌트 정책을 사용하면 한 테넌트가 다른 테넌트로부터 데이터를 수집하지 않는 동시에 자신의 애플리케이션에서 모니터링 데이터를 수집할 수 있습니다.

관리자로서 "AdminNetworkPolicy Pass 작업 예시"와 "BaselineAdminNetwork Policy Deny 예시"를 모두 적용하는 경우 테넌트는 BANP에 앞서 평가될 NetworkPolicy 리소스를 생성할지 선택할 수 있습니다.

예를 들어, 테넌트 1은 다음과 같은 NetworkPolicy 리소스를 설정하여 유입 트래픽을 모니터링할 수 있습니다.

예 2.7. 네트워크 정책 예시

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-monitoring
  namespace: tenant 1
spec:
  podSelector:
  policyTypes:
    - Ingress
  ingress:
  - from:
    - namespaceSelector:
        matchLabels:
          kubernetes.io/metadata.name: monitoring
# ...
Copy to Clipboard Toggle word wrap

이 시나리오에서 테넌트 1의 정책은 "AdminNetworkPolicy Pass 작업 예시" 다음에, 보안 수준이 internal 인 테넌트로 들어오는 모든 유입 모니터링 트래픽을 거부하는 "BaselineAdminNetwork 정책 거부 예시" 전에 평가됩니다. 테넌트 1의 NetworkPolicy 객체가 있으면 해당 애플리케이션에서 데이터를 수집할 수 있습니다. 하지만 NetworkPolicy 객체가 없는 테넌트 2는 데이터를 수집할 수 없습니다. 관리자는 기본적으로 내부 테넌트를 모니터링하지 않았지만, 대신 테넌트가 NetworkPolicy 객체를 사용하여 BANP의 기본 동작을 재정의할 수 있도록 하는 BANP를 만들었습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat