18장. NetworkPolicy [networking.k8s.io/v1]


설명
NetworkPolicy는 일련의 Pod에 허용되는 네트워크 트래픽을 설명합니다.
유형
object

18.1. 사양

속성유형설명

apiVersion

string

APIVersion은 버전이 지정된 이 오브젝트 표현의 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

kind는 이 오브젝트가 나타내는 REST 리소스에 해당하는 문자열 값입니다. 서버는 클라이언트에서 요청을 제출한 끝점에서 이를 유추할 수 있습니다. CamelCase로 업데이트할 수 없습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

메타데이터

ObjectMeta

표준 오브젝트의 메타데이터입니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

NetworkPolicySpec은 NetworkPolicy 사양을 제공합니다.

18.1.1. .spec

설명
NetworkPolicySpec은 NetworkPolicy 사양을 제공합니다.
유형
object
필수 항목
  • podSelector
속성유형설명

egress

array

egress는 선택한 Pod에 적용할 송신 규칙 목록입니다. Pod(및 클러스터 정책)를 선택하는 NetworkPolicies가 없거나 트래픽이 Pod와 일치하는 모든 NetworkPolicy 오브젝트에서 하나 이상의 송신 규칙과 일치하는 경우 발신 트래픽이 허용됩니다. 이 필드가 비어 있으면 이 NetworkPolicy는 모든 발신 트래픽을 제한하고 선택한 Pod가 기본적으로 격리되도록만 사용됩니다. 이 필드는 1.8의 베타 수준입니다.

egress[]

object

NetworkPolicyEgressRule은 NetworkPolicySpec의 podSelector와 일치하는 Pod가 없는 특정 트래픽 세트를 설명합니다. 트래픽은 포트 및 에 모두 일치해야 합니다. 이 유형은 1.8의 베타 수준입니다.

Ingress

array

Ingress는 선택한 Pod에 적용할 수신 규칙 목록입니다. Pod(및 클러스터 정책)를 선택하는 NetworkPolicies가 없거나 트래픽 소스가 Pod의 로컬 노드인 경우 또는 podSelector가 Pod와 일치하는 모든 NetworkPolicy 오브젝트에서 하나 이상의 수신 규칙과 일치하는 경우 트래픽이 포드에 허용됩니다. 이 필드가 비어 있으면 이 NetworkPolicy는 트래픽을 허용하지 않습니다. 선택한 Pod가 기본적으로 격리되도록만 사용됩니다.

ingress[]

object

NetworkPolicyIngressRule은 NetworkPolicySpec의 podSelector와 일치하는 Pod에 허용되는 특정 트래픽 세트를 설명합니다. 트래픽은 포트 및 의 포트와 일치해야 합니다.

podSelector

LabelSelector

podSelector는 이 NetworkPolicy 오브젝트가 적용되는 Pod를 선택합니다. 수신 규칙 배열은 이 필드에서 선택한 모든 Pod에 적용됩니다. 여러 네트워크 정책에서 동일한 Pod 세트를 선택할 수 있습니다. 이 경우 각각에 대한 수신 규칙은 추가적으로 결합됩니다. 이 필드는 선택 사항이 아니며 표준 라벨 선택기 의미 체계를 따릅니다. 빈 podSelector는 이 네임스페이스의 모든 Pod와 일치합니다.

policyTypes

배열(문자열)

policyTypes는 NetworkPolicy와 관련된 규칙 유형 목록입니다. 유효한 옵션은 ["Ingress"], ["Egress"] 또는 ["Ingress", "Egress"]입니다. 이 필드를 지정하지 않으면 수신 또는 송신 규칙의 존재 여부에 따라 기본적으로 설정됩니다. 송신 섹션이 포함된 정책은 송신에 영향을 미치는 것으로 간주되며( ingress 섹션이 포함되어 있는지 여부) 모든 정책( ingress 섹션이 포함되어 있는지 여부)은 수신에 영향을 미치는 것으로 간주됩니다. 송신 전용 정책을 작성하려면 policyTypes [ "Egress" ]를 명시적으로 지정해야 합니다. 마찬가지로 송신이 허용되지 않도록 지정하는 정책을 작성하려는 경우 "Egress"를 포함하는 policyTypes 값을 지정해야 합니다(이러한 정책에 송신 섹션이 포함되지 않고 기본값인 경우 [Ingress"]로 기본 설정됨). 이 필드는 1.8의 베타 수준입니다.

18.1.2. .spec.egress

설명
egress는 선택한 Pod에 적용할 송신 규칙 목록입니다. Pod(및 클러스터 정책)를 선택하는 NetworkPolicies가 없거나 트래픽이 Pod와 일치하는 모든 NetworkPolicy 오브젝트에서 하나 이상의 송신 규칙과 일치하는 경우 발신 트래픽이 허용됩니다. 이 필드가 비어 있으면 이 NetworkPolicy는 모든 발신 트래픽을 제한하고 선택한 Pod가 기본적으로 격리되도록만 사용됩니다. 이 필드는 1.8의 베타 수준입니다.
유형
array

18.1.3. .spec.egress[]

설명
NetworkPolicyEgressRule은 NetworkPolicySpec의 podSelector와 일치하는 Pod가 없는 특정 트래픽 세트를 설명합니다. 트래픽은 포트 및 에 모두 일치해야 합니다. 이 유형은 1.8의 베타 수준입니다.
유형
object
속성유형설명

포트

array

포트는 발신 트래픽의 대상 포트 목록입니다. 이 목록의 각 항목은 논리 OR를 사용하여 결합됩니다. 이 필드가 비어 있거나 누락된 경우 이 규칙은 모든 포트와 일치합니다(포트로 제한되지 않은 트래픽). 이 필드가 있고 하나 이상의 항목이 포함된 경우 이 규칙은 트래픽이 목록의 하나 이상의 포트와 일치하는 경우에만 트래픽을 허용합니다.

ports[]

object

NetworkPolicyPort는 트래픽을 허용하는 포트를 설명합니다.

다음으로 변경

array

to는 이 규칙에 대해 선택된 포드의 발신 트래픽의 대상 목록입니다. 이 목록의 항목은 논리 OR 작업을 사용하여 결합됩니다. 이 필드가 비어 있거나 누락된 경우 이 규칙은 모든 대상과 일치합니다(대상에 의해 제한되지 않은 트래픽). 이 필드가 있고 하나 이상의 항목이 포함된 경우 이 규칙은 트래픽이 목록에서 하나 이상의 항목과 일치하는 경우에만 트래픽을 허용합니다.

to[]

object

NetworkPolicyPeer는 트래픽을/에서 허용할 피어를 설명합니다. 특정 필드 조합만 허용됩니다.

18.1.4. .spec.egress[].ports

설명
포트는 발신 트래픽의 대상 포트 목록입니다. 이 목록의 각 항목은 논리 OR를 사용하여 결합됩니다. 이 필드가 비어 있거나 누락된 경우 이 규칙은 모든 포트와 일치합니다(포트로 제한되지 않은 트래픽). 이 필드가 있고 하나 이상의 항목이 포함된 경우 이 규칙은 트래픽이 목록의 하나 이상의 포트와 일치하는 경우에만 트래픽을 허용합니다.
유형
array

18.1.5. .spec.egress[].ports[]

설명
NetworkPolicyPort는 트래픽을 허용하는 포트를 설명합니다.
유형
object
속성유형설명

endPort

integer

endPort는 정책에 의해 설정된 경우 포트에서 endPort까지의 포트 범위가 허용됨을 나타냅니다. port 필드가 정의되지 않았거나 port 필드가 이름이 지정된 (문자열) 포트로 정의된 경우 이 필드를 정의할 수 없습니다. endPort는 포트보다 크거나 같아야 합니다.

port

IntOrString

port는 지정된 프로토콜의 포트를 나타냅니다. Pod에서 숫자 또는 이름이 지정된 포트일 수 있습니다. 이 필드를 제공하지 않으면 모든 포트 이름과 숫자와 일치합니다. 있는 경우 지정된 프로토콜 및 포트의 트래픽만 일치합니다.

protocol

string

protocol은 트래픽이 일치해야 하는 프로토콜(TCP, UDP 또는 SCTP)을 나타냅니다. 지정하지 않으면 이 필드는 기본적으로 TCP로 설정됩니다.

가능한 열거 값: - "SCTP" 는 SCTP 프로토콜입니다. - "TCP" 는 TCP 프로토콜입니다. - "UDP" 는 UDP 프로토콜입니다.

18.1.6. .spec.egress[].to

설명
to는 이 규칙에 대해 선택된 포드의 발신 트래픽의 대상 목록입니다. 이 목록의 항목은 논리 OR 작업을 사용하여 결합됩니다. 이 필드가 비어 있거나 누락된 경우 이 규칙은 모든 대상과 일치합니다(대상에 의해 제한되지 않은 트래픽). 이 필드가 있고 하나 이상의 항목이 포함된 경우 이 규칙은 트래픽이 목록에서 하나 이상의 항목과 일치하는 경우에만 트래픽을 허용합니다.
유형
array

18.1.7. .spec.egress[].to[]

설명
NetworkPolicyPeer는 트래픽을/에서 허용할 피어를 설명합니다. 특정 필드 조합만 허용됩니다.
유형
object
속성유형설명

ipBlock

object

IPBlock은 특정 CIDR을 설명합니다(Ex. NetworkPolicySpec의 podSelector와 일치하는 Pod에 허용되는 "192.168.1.0/24","2001:db8::/64"). except 항목은 이 규칙에 포함되지 않아야 하는 CIDR을 설명합니다.

namespaceSelector

LabelSelector

namespaceSelector는 클러스터 범위 레이블을 사용하여 네임스페이스를 선택합니다. 이 필드는 표준 라벨 선택기 의미 체계를 따릅니다. 존재하지만 비어 있으면 모든 네임스페이스를 선택합니다.

podSelector도 설정된 경우 전체 NetworkPolicyPeer는 namespaceSelector에서 선택한 네임스페이스에서 podSelector와 일치하는 Pod를 선택합니다. 그러지 않으면 namespaceSelector에서 선택한 네임스페이스의 모든 Pod를 선택합니다.

podSelector

LabelSelector

podSelector는 Pod를 선택하는 라벨 선택기입니다. 이 필드는 표준 라벨 선택기 의미 체계를 따릅니다. 존재하지만 비어 있으면 모든 Pod를 선택합니다.

namespaceSelector도 설정된 경우 전체 NetworkPolicyPeer는 NamespaceSelector에서 선택한 네임스페이스에서 podSelector와 일치하는 Pod를 선택합니다. 그러지 않으면 정책의 자체 네임스페이스에서 podSelector와 일치하는 Pod를 선택합니다.

18.1.8. .spec.egress[].to[].ipBlock

설명
IPBlock은 특정 CIDR을 설명합니다(Ex. NetworkPolicySpec의 podSelector와 일치하는 Pod에 허용되는 "192.168.1.0/24","2001:db8::/64"). except 항목은 이 규칙에 포함되지 않아야 하는 CIDR을 설명합니다.
유형
object
필수 항목
  • cidr
속성유형설명

cidr

string

CIDR은 IPBlock Valid 예제를 나타내는 문자열입니다 "192.168.1.0/24" 또는 "2001:db8::/64"

except

배열(문자열)

IPBlock Valid 예제에 포함되지 않아야 하는 CIDR 슬라이스를 제외하면 "192.168.1.0/24" 또는 "2001:db8::/64" Except 값이 cidr 범위 외부에 있는 경우 거부됩니다.

18.1.9. .spec.ingress

설명
Ingress는 선택한 Pod에 적용할 수신 규칙 목록입니다. Pod(및 클러스터 정책)를 선택하는 NetworkPolicies가 없거나 트래픽 소스가 Pod의 로컬 노드인 경우 또는 podSelector가 Pod와 일치하는 모든 NetworkPolicy 오브젝트에서 하나 이상의 수신 규칙과 일치하는 경우 트래픽이 포드에 허용됩니다. 이 필드가 비어 있으면 이 NetworkPolicy는 트래픽을 허용하지 않습니다. 선택한 Pod가 기본적으로 격리되도록만 사용됩니다.
유형
array

18.1.10. .spec.ingress[]

설명
NetworkPolicyIngressRule은 NetworkPolicySpec의 podSelector와 일치하는 Pod에 허용되는 특정 트래픽 세트를 설명합니다. 트래픽은 포트 및 의 포트와 일치해야 합니다.
유형
object
속성유형설명

from

array

에서 이 규칙에 대해 선택한 포드에 액세스할 수 있어야 하는 소스 목록입니다. 이 목록의 항목은 논리 OR 작업을 사용하여 결합됩니다. 이 필드가 비어 있거나 누락된 경우 이 규칙은 모든 소스와 일치합니다(소스로 제한되지 않은 트래픽). 이 필드가 있고 하나 이상의 항목이 포함된 경우 이 규칙은 트래픽이 from 목록의 하나 이상의 항목과 일치하는 경우에만 트래픽을 허용합니다.

from[]

object

NetworkPolicyPeer는 트래픽을/에서 허용할 피어를 설명합니다. 특정 필드 조합만 허용됩니다.

포트

array

포트는 이 규칙에 대해 선택한 Pod에서 액세스할 수 있어야 하는 포트 목록입니다. 이 목록의 각 항목은 논리 OR를 사용하여 결합됩니다. 이 필드가 비어 있거나 누락된 경우 이 규칙은 모든 포트와 일치합니다(포트로 제한되지 않은 트래픽). 이 필드가 있고 하나 이상의 항목이 포함된 경우 이 규칙은 트래픽이 목록의 하나 이상의 포트와 일치하는 경우에만 트래픽을 허용합니다.

ports[]

object

NetworkPolicyPort는 트래픽을 허용하는 포트를 설명합니다.

18.1.11. .spec.ingress[].from

설명
에서 이 규칙에 대해 선택한 포드에 액세스할 수 있어야 하는 소스 목록입니다. 이 목록의 항목은 논리 OR 작업을 사용하여 결합됩니다. 이 필드가 비어 있거나 누락된 경우 이 규칙은 모든 소스와 일치합니다(소스로 제한되지 않은 트래픽). 이 필드가 있고 하나 이상의 항목이 포함된 경우 이 규칙은 트래픽이 from 목록의 하나 이상의 항목과 일치하는 경우에만 트래픽을 허용합니다.
유형
array

18.1.12. .spec.ingress[].from[]

설명
NetworkPolicyPeer는 트래픽을/에서 허용할 피어를 설명합니다. 특정 필드 조합만 허용됩니다.
유형
object
속성유형설명

ipBlock

object

IPBlock은 특정 CIDR을 설명합니다(Ex. NetworkPolicySpec의 podSelector와 일치하는 Pod에 허용되는 "192.168.1.0/24","2001:db8::/64"). except 항목은 이 규칙에 포함되지 않아야 하는 CIDR을 설명합니다.

namespaceSelector

LabelSelector

namespaceSelector는 클러스터 범위 레이블을 사용하여 네임스페이스를 선택합니다. 이 필드는 표준 라벨 선택기 의미 체계를 따릅니다. 존재하지만 비어 있으면 모든 네임스페이스를 선택합니다.

podSelector도 설정된 경우 전체 NetworkPolicyPeer는 namespaceSelector에서 선택한 네임스페이스에서 podSelector와 일치하는 Pod를 선택합니다. 그러지 않으면 namespaceSelector에서 선택한 네임스페이스의 모든 Pod를 선택합니다.

podSelector

LabelSelector

podSelector는 Pod를 선택하는 라벨 선택기입니다. 이 필드는 표준 라벨 선택기 의미 체계를 따릅니다. 존재하지만 비어 있으면 모든 Pod를 선택합니다.

namespaceSelector도 설정된 경우 전체 NetworkPolicyPeer는 NamespaceSelector에서 선택한 네임스페이스에서 podSelector와 일치하는 Pod를 선택합니다. 그러지 않으면 정책의 자체 네임스페이스에서 podSelector와 일치하는 Pod를 선택합니다.

18.1.13. .spec.ingress[].from[].ipBlock

설명
IPBlock은 특정 CIDR을 설명합니다(Ex. NetworkPolicySpec의 podSelector와 일치하는 Pod에 허용되는 "192.168.1.0/24","2001:db8::/64"). except 항목은 이 규칙에 포함되지 않아야 하는 CIDR을 설명합니다.
유형
object
필수 항목
  • cidr
속성유형설명

cidr

string

CIDR은 IPBlock Valid 예제를 나타내는 문자열입니다 "192.168.1.0/24" 또는 "2001:db8::/64"

except

배열(문자열)

IPBlock Valid 예제에 포함되지 않아야 하는 CIDR 슬라이스를 제외하면 "192.168.1.0/24" 또는 "2001:db8::/64" Except 값이 cidr 범위 외부에 있는 경우 거부됩니다.

18.1.14. .spec.ingress[].ports

설명
포트는 이 규칙에 대해 선택한 Pod에서 액세스할 수 있어야 하는 포트 목록입니다. 이 목록의 각 항목은 논리 OR를 사용하여 결합됩니다. 이 필드가 비어 있거나 누락된 경우 이 규칙은 모든 포트와 일치합니다(포트로 제한되지 않은 트래픽). 이 필드가 있고 하나 이상의 항목이 포함된 경우 이 규칙은 트래픽이 목록의 하나 이상의 포트와 일치하는 경우에만 트래픽을 허용합니다.
유형
array

18.1.15. .spec.ingress[].ports[]

설명
NetworkPolicyPort는 트래픽을 허용하는 포트를 설명합니다.
유형
object
속성유형설명

endPort

integer

endPort는 정책에 의해 설정된 경우 포트에서 endPort까지의 포트 범위가 허용됨을 나타냅니다. port 필드가 정의되지 않았거나 port 필드가 이름이 지정된 (문자열) 포트로 정의된 경우 이 필드를 정의할 수 없습니다. endPort는 포트보다 크거나 같아야 합니다.

port

IntOrString

port는 지정된 프로토콜의 포트를 나타냅니다. Pod에서 숫자 또는 이름이 지정된 포트일 수 있습니다. 이 필드를 제공하지 않으면 모든 포트 이름과 숫자와 일치합니다. 있는 경우 지정된 프로토콜 및 포트의 트래픽만 일치합니다.

protocol

string

protocol은 트래픽이 일치해야 하는 프로토콜(TCP, UDP 또는 SCTP)을 나타냅니다. 지정하지 않으면 이 필드는 기본적으로 TCP로 설정됩니다.

가능한 열거 값: - "SCTP" 는 SCTP 프로토콜입니다. - "TCP" 는 TCP 프로토콜입니다. - "UDP" 는 UDP 프로토콜입니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.