Spec-Zone.ru › Kubernetes 1.28

Политика сети

Политика сети описывает, какой сетевой трафик разрешен для набора Pods.

apiVersion: networking.k8s.io/v1

import "k8s.io/api/networking/v1"

Политика сети

Политика сети описывает, какой сетевой трафик разрешен для набора Pods

  • apiVersion: networking.k8s.io/v1

  • kind: Политика сети

  • metadata (ObjectMeta)

    Стандартные метаданные объекта. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

  • spec (NetworkPolicySpec)

    spec представляет собой спецификацию желаемого поведения для этой политики сети.

NetworkPolicySpec

NetworkPolicySpec предоставляет спецификацию политики сети

  • podSelector (LabelSelector), обязательный

    podSelector выбирает под, к которым применяется этот объект NetworkPolicy. Массив правил ingress применяется к любому под, выбранному этим полем. Несколько правил network policy могут выбирать один и тот же набор под. В этом случае правила ingress для каждого объединяются аддитивно. Это поле НЕ является необязательным и следует стандартной семантике селектора меток. Пустой podSelector соответствует всем под в этом пространстве имён.

  • policyTypes ([]string)

    policyTypes — это список типов правил, к которым относится NetworkPolicy. Допустимые варианты — ["Ingress"], ["Egress"] или ["Ingress", "Egress"]. Если это поле не указано, оно будет установлено по умолчанию на основе наличия правил ingress или egress; предполагается, что правила, содержащие раздел egress, влияют на egress, а все правила (содержат ли они раздел ingress или нет) предполагается, что влияют на ingress. Если вы хотите создать правило только для egress, вы должны явно указать policyTypes [ "Egress" ]. Аналогично, если вы хотите создать правило, определяющее, что egress запрещен, вы должны указать значение policyTypes, включающее "Egress" (поскольку такое правило не будет содержать раздела egress и в противном случае будет установлено по умолчанию только [ "Ingress" ]). Это поле находится на стадии бета-тестирования в версии 1.8

  • ingress ([]NetworkPolicyIngressRule)

    ingress — это список правил ingress, которые должны применяться к выбранным под. Трафик разрешен для под, если нет NetworkPolicies, выбирающих под (и политика кластера в противном случае разрешает трафик), ИЛИ если источник трафика — локальный узел под, ИЛИ если трафик соответствует по крайней мере одному правилу ingress во всех объектах NetworkPolicy, чья подСелектор соответствует под. Если это поле пусто, это NetworkPolicy не разрешает никакой трафик (и служит только для обеспечения того, что под, которые он выбирает, изолированы по умолчанию)

    NetworkPolicyIngressRule описывает конкретный набор трафика, который разрешен для под, соответствующих podSelector в NetworkPolicySpec. Трафик должен соответствовать как портам, так и источникам.

    • ingress.from ([]NetworkPolicyPeer)

      from — это список источников, которые должны иметь доступ к под, выбранным для этого правила. Элементы в этом списке объединяются с помощью логической операции ИЛИ. Если это поле пусто или отсутствует, это правило соответствует всем источникам (трафик не ограничен источником). Если это поле присутствует и содержит по крайней мере один элемент, это правило разрешает трафик только в том случае, если трафик соответствует по крайней мере одному элементу в списке from.

      NetworkPolicyPeer описывает узла для разрешения трафика к/от. Допускаются только определенные комбинации полей

      • ingress.from.ipBlock (IPBlock)

        ipBlock определяет политику для определенного IPBlock. Если это поле задано, ни одно из других полей быть не может.

        IPBlock описывает конкретный CIDR (например, "192.168.1.0/24", "2001:db8::/64"), которому разрешен доступ к под, соответствующим podSelector в NetworkPolicySpec. Поле except описывает CIDR, которые не должны включаться в это правило.

        • ingress.from.ipBlock.cidr (string), обязательный

          cidr — это строка, представляющая IPBlock. Действительные примеры — "192.168.1.0/24" или "2001:db8::/64"

        • ingress.from.ipBlock.except ([]string)

          except — это срез CIDR, которые не должны включаться в IPBlock. Действительные примеры — "192.168.1.0/24" или "2001:db8::/64". Значения Except будут отклонены, если они находятся вне диапазона cidr.

      • ingress.from.namespaceSelector (LabelSelector)

        namespaceSelector выбирает пространства имен с помощью меток, охватывающих весь кластер. Это поле следует стандартной семантике селектора меток; если оно присутствует, но пусто, оно выбирает все пространства имен.

        Если также задан podSelector, то NetworkPolicyPeer в целом выбирает под, соответствующие podSelector в пространствах имен, выбранных namespaceSelector. В противном случае он выбирает все под в пространствах имен, выбранных namespaceSelector.

      • ingress.from.podSelector (LabelSelector)

        podSelector — это селектор меток, который выбирает под. Это поле следует стандартной семантике селектора меток; если оно присутствует, но пусто, оно выбирает все под.

        Если также задан namespaceSelector, то NetworkPolicyPeer в целом выбирает под, соответствующие podSelector в пространствах имен, выбранных namespaceSelector. В противном случае он выбирает под, соответствующие podSelector в собственном пространстве имён политики.

    • ingress.ports ([]NetworkPolicyPort)

      ports — это список портов, которые должны быть доступны для выбранных под в этом правиле. Каждый элемент в этом списке объединяется с помощью логической операции ИЛИ. Если это поле пусто или отсутствует, это правило соответствует всем портам (трафик не ограничен портом). Если это поле присутствует и содержит по крайней мере один элемент, это правило разрешает трафик только в том случае, если трафик соответствует по крайней мере одному порту в списке.

      NetworkPolicyPort описывает порт для разрешения трафика

      • ingress.ports.port (IntOrString)

        port представляет порт на заданном протоколе. Это может быть либо числовой, либо именованный порт на под. Если это поле не задано, это соответствует всем именам и номерам портов. Если присутствует, только трафик на указанный протокол И порт будет сопоставлен.

        IntOrString — это тип, который может содержать int32 или строку. При использовании в JSON или YAML marshaling и unmarshalling он производит или потребляет внутренний тип. Это позволяет, например, иметь поле JSON, которое может принимать имя или номер.

      • ingress.ports.endPort (int32)

        endPort указывает, что диапазон портов от port до endPort (при заданном значении), включая оба, должен быть разрешен политикой. Это поле нельзя определить, если поле port не определено или если поле port определено как именованный (строковый) порт. endPort должен быть равен или больше port.

      • ingress.ports.protocol (string)

        protocol представляет протокол (TCP, UDP или SCTP), которому должен соответствовать трафик. Если не указано, это поле по умолчанию равно TCP.

  • egress ([]NetworkPolicyEgressRule)

    egress — это список правил egress, которые должны применяться к выбранным под. Исходящий трафик разрешен, если нет NetworkPolicies, выбирающих под (и политика кластера в противном случае разрешает трафик), ИЛИ если трафик соответствует по крайней мере одному правилу egress во всех объектах NetworkPolicy, чья подСелектор соответствует под. Если это поле пусто, это NetworkPolicy ограничивает весь исходящий трафик (и служит только для обеспечения того, что под, которые он выбирает, изолированы по умолчанию). Это поле находится на стадии бета-тестирования в версии 1.8

    NetworkPolicyEgressRule описывает конкретный набор трафика, который разрешен из под, соответствующих podSelector в NetworkPolicySpec. Трафик должен соответствовать как портам, так и получателям. Этот тип находится на стадии бета-тестирования в версии 1.8

    • egress.to ([]NetworkPolicyPeer)

      to — это список пунктов назначения для исходящего трафика под, выбранных для этого правила. Элементы в этом списке объединяются с помощью логической операции ИЛИ. Если это поле пусто или отсутствует, это правило соответствует всем пунктам назначения (трафик не ограничен пунктом назначения). Если это поле присутствует и содержит по крайней мере один элемент, это правило разрешает трафик только в том случае, если трафик соответствует по крайней мере одному элементу в списке to.

      NetworkPolicyPeer описывает узла для разрешения трафика к/от. Допускаются только определенные комбинации полей

      • egress.to.ipBlock (IPBlock)

        ipBlock определяет политику для определенного IPBlock. Если это поле задано, ни одно из других полей быть не может.

        IPBlock описывает конкретный CIDR (например, "192.168.1.0/24", "2001:db8::/64"), которому разрешен доступ к под, соответствующим podSelector в NetworkPolicySpec. Поле except описывает CIDR, которые не должны включаться в это правило.

        • egress.to.ipBlock.cidr (string), обязательный

          cidr — это строка, представляющая IPBlock. Действительные примеры — "192.168.1.0/24" или "2001:db8::/64"

        • egress.to.ipBlock.except ([]string)

          except — это срез CIDR, которые не должны включаться в IPBlock. Действительные примеры — "192.168.1.0/24" или "2001:db8::/64". Значения Except будут отклонены, если они находятся вне диапазона cidr.

      • egress.to.namespaceSelector (LabelSelector)

        namespaceSelector выбирает пространства имен с помощью меток, охватывающих весь кластер. Это поле следует стандартной семантике селектора меток; если оно присутствует, но пусто, оно выбирает все пространства имен.

        Если также задан podSelector, то NetworkPolicyPeer в целом выбирает под, соответствующие podSelector в пространствах имен, выбранных namespaceSelector. В противном случае он выбирает все под в пространствах имен, выбранных namespaceSelector.

      • egress.to.podSelector (LabelSelector)

        podSelector — это селектор меток, который выбирает под. Это поле следует стандартной семантике селектора меток; если оно присутствует, но пусто, оно выбирает все под.

        Если также задан namespaceSelector, то NetworkPolicyPeer в целом выбирает под, соответствующие podSelector в пространствах имен, выбранных namespaceSelector. В противном случае он выбирает под, соответствующие podSelector в собственном пространстве имён политики.

    • egress.ports ([]NetworkPolicyPort)

      ports — это список портов назначения для исходящего трафика. Каждый элемент в этом списке объединяется с помощью логической операции ИЛИ. Если это поле пусто или отсутствует, это правило соответствует всем портам (трафик не ограничен портом). Если это поле присутствует и содержит по крайней мере один элемент, это правило разрешает трафик только в том случае, если трафик соответствует по крайней мере одному порту в списке.

      NetworkPolicyPort описывает порт для разрешения трафика

      • egress.ports.port (IntOrString)

        port представляет порт на заданном протоколе. Это может быть либо числовой, либо именованный порт на под. Если это поле не задано, это соответствует всем именам и номерам портов. Если присутствует, только трафик на указанный протокол И порт будет сопоставлен.

        IntOrString — это тип, который может содержать int32 или строку. При использовании в JSON или YAML marshaling и unmarshalling он производит или потребляет внутренний тип. Это позволяет, например, иметь поле JSON, которое может принимать имя или номер.

      • egress.ports.endPort (int32)

        endPort указывает, что диапазон портов от port до endPort (при заданном значении), включая оба, должен быть разрешен политикой. Это поле нельзя определить, если поле port не определено или если поле port определено как именованный (строковый) порт. endPort должен быть равен или больше port.

      • egress.ports.protocol (string)

        protocol представляет протокол (TCP, UDP или SCTP), которому должен соответствовать трафик. Если не указано, это поле по умолчанию равно TCP.

СписокNetworkPolicy

NetworkPolicyList — это список объектов NetworkPolicy.

  • apiVersion: networking.k8s.io/v1

  • kind: Список правил сети

  • metadata (ListMeta)

    Стандартные метаданные списка. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

  • items ([]Правило сети), обязательно

    items — список объектов схемы.

© 2022 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2022 The Linux Foundation ®. All rights reserved.
https://v1-28.docs.kubernetes.io/docs/reference/kubernetes-api/policy-resources/network-policy-v1/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API