8.10.2. NetworkPolicy 및 라우터
ovs-multitenant 플러그인을 사용하는 경우 라우터의 트래픽이 모든 네임스페이스에 자동으로 허용됩니다. 라우터는 일반적으로 기본 네임스페이스에 있고 모든 네임스페이스에서 해당 네임스페이스의 포드에서 연결을 허용하기 때문입니다. ovs-networkpolicy 플러그인에서는 자동으로 수행되지 않습니다. 따라서 기본적으로 네임스페이스를 격리하는 정책이 있는 경우 라우터가 액세스할 수 있도록 추가 단계를 수행해야 합니다.
한 가지 옵션은 각 서비스에 대한 정책을 생성하여 모든 소스에서 액세스할 수 있도록 하는 것입니다. 예를 들면 다음과 같습니다.
kind: NetworkPolicy apiVersion: networking.k8s.io/v1 metadata: name: allow-to-database-service spec: podSelector: matchLabels: role: database ingress: - ports: - protocol: TCP port: 5432
이렇게 하면 라우터가 서비스에 액세스할 수 있지만 다른 사용자의 네임스페이스의 포드도 액세스할 수 있습니다. 이러한 포드는 일반적으로 공용 라우터를 사용하여 서비스에 액세스할 수 있으므로 문제가 발생하지 않습니다.
또는 ovs-multitenant 플러그인과 같이 default 네임스페이스에서 전체 액세스를 허용하는 정책을 생성할 수 있습니다.
default 네임스페이스에 레이블을 추가합니다.
중요이전 절차의 default 레이블로
default
프로젝트에 레이블을 지정한 경우 이 단계를 건너뜁니다. 네임스페이스에 레이블을 추가하려면 클러스터 관리자 역할이 필요합니다.$ oc label namespace default name=default
해당 네임스페이스에서 연결을 허용하는 정책을 생성합니다.
참고연결을 허용하려는 각 네임스페이스에 대해 이 단계를 수행합니다. 프로젝트 관리자 역할이 있는 사용자는 정책을 생성할 수 있습니다.
kind: NetworkPolicy apiVersion: networking.k8s.io/v1 metadata: name: allow-from-default-namespace spec: podSelector: ingress: - from: - namespaceSelector: matchLabels: name: default