3.2.3. 기본 거부 모든 네트워크 정책 생성
기본값은 다른 배포된 네트워크 정책의 구성 및 호스트 네트워크 Pod 간 트래픽으로 허용되는 네트워크 트래픽 이외의 모든 네트워크 간 네트워킹을 차단합니다. 이 절차에서는 my 정책을 적용합니다.
-project 네임스페이스에 기본 거부 정책을 적용하여 강력한 거부
주의
트래픽 통신을 허용하는 NetworkPolicy CR(사용자 정의 리소스)을 구성하지 않으면 다음 정책으로 클러스터 전체에서 통신 문제가 발생할 수 있습니다.
사전 요구 사항
-
클러스터는
mode:로 설정된 OVN-Kubernetes 네트워크 플러그인과 같은 NetworkPolicy 오브젝트를 지원하는 네트워크 플러그인을 사용합니다.NetworkPolicy -
OpenShift CLI(
oc)를 설치합니다. -
admin권한이 있는 사용자로 클러스터에 로그인했습니다. - 네트워크 정책이 적용되는 네임스페이스에서 작업하고 있습니다.
프로세스
모든 네임스페이스의 모든 포드의 수신을
거부하도록 기본거부 정책을 정의하는 다음 YAML을 생성합니다. YAML을deny-by-default.yaml파일에 저장합니다.kind: NetworkPolicy apiVersion: networking.k8s.io/v1 metadata: name: deny-by-default namespace: my-project spec: podSelector: {} ingress: []다음과 같습니다.
네임스페이스-
정책을 배포할 네임스페이스를 지정합니다. 예를 들어
my-project네임스페이스는 다음과 같습니다. podSelector-
이 필드가 비어 있으면 구성이 모든 Pod와 일치합니다. 따라서 정책은
my-project네임스페이스의 모든 pod에 적용됩니다. Ingress-
여기서
[]는수신규칙이 지정되지 않았음을 나타냅니다. 이로 인해 들어오는 트래픽이 모든 Pod로 삭제됩니다.
다음 명령을 입력하여 정책을 적용합니다. 성공적인 출력에는 정책 오브젝트의 이름과
생성된상태가 나열됩니다.$ oc apply -f deny-by-default.yaml