1장. 네트워크 정책 API 이해
쿠버네티스는 사용자가 네트워크 보안을 강화하는 데 사용할 수 있는 두 가지 기능을 제공합니다. 사용자가 네트워크 정책을 시행할 수 있는 기능 중 하나는 NetworkPolicy
API입니다. 이 API는 주로 애플리케이션 개발자와 네임스페이스 테넌트가 네임스페이스 범위 정책을 만들어 네임스페이스를 보호하도록 설계되었습니다.
두 번째 기능은 두 가지 API, 즉 AdminNetworkPolicy
(ANP) API와 BaselineAdminNetworkPolicy
(BANP) API로 구성된 AdminNetworkPolicy
입니다. ANP와 BANP는 클러스터 및 네트워크 관리자가 클러스터 범위 정책을 만들어 전체 클러스터를 보호할 수 있도록 설계되었습니다. 클러스터 관리자는 ANP를 사용하여 NetworkPolicy
개체보다 우선하는 재정의 불가능한 정책을 적용할 수 있습니다. 관리자는 BANP를 사용하여 필요한 경우 NetworkPolicy
객체를 사용하여 사용자가 재정의할 수 있는 선택적 클러스터 범위 네트워크 정책 규칙을 설정하고 적용할 수 있습니다. ANP, BANP 및 네트워크 정책을 함께 사용하면 관리자가 클러스터를 보호하는 데 사용할 수 있는 완전한 다중 테넌트 격리를 달성할 수 있습니다.
OpenShift Container Platform의 OVN-Kubernetes CNI는 액세스 제어 목록(ACL) 계층을 사용하여 이러한 네트워크 정책을 구현하고 이를 평가하고 적용합니다. ACL은 1계층부터 3계층까지 내림차순으로 평가됩니다.
1계층은 AdminNetworkPolicy
(ANP) 객체를 평가합니다. 2계층은 NetworkPolicy
객체를 평가합니다. 3계층은 BaselineAdminNetworkPolicy
(BANP) 객체를 평가합니다.
ANP가 먼저 평가됩니다. 일치하는 규칙이 ANP 허용
또는 거부
규칙인 경우 클러스터에 있는 기존 NetworkPolicy
및 BaselineAdminNetworkPolicy
(BANP) 개체는 평가에서 건너뜁니다. 매치가 ANP 통과
규칙인 경우 평가는 ACL의 1계층에서 NetworkPolicy
정책이 평가되는 2계층으로 이동합니다. 트래픽과 일치하는 NetworkPolicy가
없으면 평가는 2계층 ACL에서 3계층 ACL로 이동하여 BANP가 평가됩니다.
1.1. AdminNetworkPolicy와 NetworkPolicy 사용자 정의 리소스 간의 주요 차이점 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에서는 클러스터 범위 AdminNetworkPolicy
API와 네임스페이스 범위 NetworkPolicy
API의 주요 차이점을 설명합니다.
정책 요소 | AdminNetworkPolicy | NetworkPolicy |
---|---|---|
해당 사용자 | 클러스터 관리자 또는 동등 자격 | 네임스페이스 소유자 |
범위 | Cluster | 네임스페이스 |
트래픽 삭제 |
명시적인 |
정책 생성 시 암묵적인 |
위임 트래픽 |
규칙으로 설정된 | 해당 없음 |
트래픽 허용 |
명시적인 | 모든 규칙에 대한 기본 동작은 허용입니다. |
정책 내 규칙 우선순위 | ANP에 나타나는 순서에 따라 달라집니다. 규칙의 위치가 높을수록 우선순위가 높아집니다. | 규칙은 첨가적이다 |
정책 우선순위 |
ANP 중에서 | 정책 간에 정책 순서가 없습니다. |
기능 우선 순위 | 1계층 ACL을 통해 먼저 평가되고, BANP는 3계층 ACL을 통해 마지막으로 평가됩니다. | ANP 이후, BANP 이전에 시행되며 ACL 2계층에서 평가됩니다. |
매칭 포드 선택 | 네임스페이스 전반에 걸쳐 다양한 규칙을 적용할 수 있습니다. | 단일 네임스페이스의 여러 포드에 걸쳐 다양한 규칙을 적용할 수 있습니다. |
클러스터 이그레스 트래픽 |
|
허용되는 CIDR 구문과 함께 |
클러스터 유입 트래픽 | 지원되지 않음 | 지원되지 않음 |
정규화된 도메인 이름(FQDN) 피어 지원 | 지원되지 않음 | 지원되지 않음 |
네임스페이스 선택기 |
|
|