10.6.2. 새 프로젝트 템플릿에 네트워크 정책 추가
클러스터 관리자는 네트워크 정책을 새 프로젝트의 기본 템플릿에 추가할 수 있습니다. OpenShift Container Platform은 프로젝트의 템플릿에 지정된 모든 NetworkPolicy
개체를 자동으로 생성합니다.
사전 요구 사항
-
클러스터는
NetworkPolicy
오브젝트를 지원하는 기본 CNI 네트워크 공급자(예:mode)를 사용하는 OpenShift SDN 네트워크 공급자를 사용합니다. NetworkPolicy
가 설정되어 있습니다. 이 모드는 OpenShift SDN의 기본값입니다. -
OpenShift CLI(
oc
)를 설치합니다. -
cluster-admin
권한이 있는 사용자로 클러스터에 로그인해야 합니다. - 새 프로젝트에 대한 사용자 정의 기본 프로젝트 템플릿을 생성해야 합니다.
프로세스
다음 명령을 실행하여 새 프로젝트의 기본 템플릿을 편집합니다.
$ oc edit template <project_template> -n openshift-config
<project_template>
을 클러스터에 대해 구성한 기본 템플릿의 이름으로 변경합니다. 기본 템플릿 이름은project-request
입니다.템플릿에서 각
NetworkPolicy
오브젝트를objects
매개변수의 요소로 추가합니다.objects
매개변수는 하나 이상의 오브젝트 컬렉션을 허용합니다.다음 예제에서
objects
매개변수 컬렉션에는 여러NetworkPolicy
오브젝트가 포함됩니다.중요OVN-Kubernetes 네트워크 공급자 플러그인의 경우 Ingress 컨트롤러가
HostNetwork
끝점 게시 전략을 사용하도록 구성된 경우 Ingress 트래픽이 허용되고 기타 모든 트래픽이 거부되도록 네트워크 정책을 적용하는 방법은 지원되지 않습니다.objects: - apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: allow-from-same-namespace spec: podSelector: {} ingress: - from: - podSelector: {} - apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: allow-from-openshift-ingress spec: ingress: - from: - namespaceSelector: matchLabels: network.openshift.io/policy-group: ingress podSelector: {} policyTypes: - Ingress ...
선택 사항: 다음 명령을 실행하여 새 프로젝트를 생성하여 네트워크 정책 오브젝트가 생성되었는지 확인합니다.
새 프로젝트를 생성합니다.
$ oc new-project <project> 1
- 1
<project>
를 생성중인 프로젝트의 이름으로 변경합니다.
새 프로젝트 템플릿의 네트워크 정책 오브젝트가 새 프로젝트에 있는지 확인합니다.
$ oc get networkpolicy NAME POD-SELECTOR AGE allow-from-openshift-ingress <none> 7s allow-from-same-namespace <none> 7s