Spec-Zone.ru › Kubernetes 1.26

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

Политика сети описывает, какой сетевой трафик разрешен для набора 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)

    Описание желаемого поведения для этой политики сети.

  • status (NetworkPolicyStatus)

    Статус — текущее состояние политики сети. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

NetworkPolicySpec

NetworkPolicySpec предоставляет описание политики сети

  • podSelector (LabelSelector), требуется

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

  • policyTypes ([]string)

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

  • ingress ([]NetworkPolicyIngressRule)

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

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

    • ingress.from ([]NetworkPolicyPeer)

      Список источников, которые должны иметь доступ к подовым, выбранным для этого правила. Элементы в этом списке комбинируются с использованием логической операции OR. Если это поле пустое или отсутствует, это правило соответствует всем источникам (трафик не ограничен источником). Если это поле присутствует и содержит по крайней мере один элемент, это правило разрешает трафик только в том случае, если трафик соответствует по крайней мере одному элементу в списке 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 — строка, представляющая IP-блок. Действительными примерами являются "192.168.1.0/24" или "2001:db8::/64"

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

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

      • ingress.from.namespaceSelector (LabelSelector)

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

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

      • ingress.from.podSelector (LabelSelector)

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

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

    • ingress.ports ([]NetworkPolicyPort)

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

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

      • ingress.ports.port (IntOrString)

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

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

      • ingress.ports.endPort (int32)

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

      • ingress.ports.protocol (string)

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

  • egress ([]NetworkPolicyEgressRule)

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

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

    • egress.to ([]NetworkPolicyPeer)

      Список пунктов назначения для исходящего трафика подовых, выбранных для этого правила. Элементы в этом списке комбинируются с использованием логической операции OR. Если это поле пустое или отсутствует, это правило соответствует всем пунктам назначения (трафик не ограничен пунктом назначения). Если это поле присутствует и содержит по крайней мере один элемент, это правило разрешает трафик только в том случае, если трафик соответствует по крайней мере одному элементу в списке 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 — строка, представляющая IP-блок. Действительными примерами являются "192.168.1.0/24" или "2001:db8::/64"

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

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

      • egress.to.namespaceSelector (LabelSelector)

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

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

      • egress.to.podSelector (LabelSelector)

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

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

    • egress.ports ([]NetworkPolicyPort)

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

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

      • egress.ports.port (IntOrString)

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

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

      • egress.ports.endPort (int32)

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

      • egress.ports.protocol (string)

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

NetworkPolicyStatus

NetworkPolicyStatus описывает текущее состояние NetworkPolicy.

  • Условия ([]Condition)

    Стратегия патчинга: слияние по ключу type

    В карте: уникальные значения по типу ключа будут сохранены при слиянии

    Условия содержат массив metav1.Condition, описывающий состояние NetworkPolicy. Текущее состояние службы

    Условие содержит детали одного аспекта текущего состояния этого API-ресурса.

    • conditions.lastTransitionTime (Time), обязательно

      lastTransitionTime — это последнее время, когда условие переходило из одного состояния в другое. Это должно соответствовать моменту изменения базового условия. Если это неизвестно, то можно использовать время изменения поля API.

      Time — оболочка вокруг time.Time, которая поддерживает правильное маршаллирование в YAML и JSON. Оболочки предоставляются для многих из фабричных методов пакета time.

    • conditions.message (string), обязательно

      message — это читаемое человеком сообщение, указывающее детали перехода. Это может быть пустая строка.

    • conditions.reason (string), обязательно

      reason содержит программно-ориентированный идентификатор, указывающий причину последнего перехода условия. Производители определённых типов условий могут определить ожидаемые значения и их смысл для этого поля, а также то, являются ли они гарантированным API. Значение должно быть строкой в CamelCase. Это поле не может быть пустым.

    • conditions.status (string), обязательно

      состояние условия, одно из True, False, Unknown.

    • conditions.type (string), обязательно

      тип условия в CamelCase или в foo.example.com/CamelCase.

    • conditions.observedGeneration (int64)

      observedGeneration представляет .metadata.generation, на основе которой было установлено условие. Например, если .metadata.generation в настоящее время составляет 12, а .status.conditions[x].observedGeneration — 9, условие устарело по отношению к текущему состоянию экземпляра.

СписокNetworkPolicy

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

  • apiVersion: networking.k8s.io/v1

  • kind: СписокNetworkPolicy

  • metadata (ListMeta)

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

  • items ([]NetworkPolicy), обязательно

    Items — это список схемных объектов.

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

Spec-Zone.ru

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