Spec-Zone.ru › Kubernetes 1.26

ValidatingAdmissionPolicy v1alpha1

ValidatingAdmissionPolicy описывает определение политики валидации приема, которая принимает или отклоняет объект без его изменения.

apiVersion: admissionregistration.k8s.io/v1alpha1

import "k8s.io/api/admissionregistration/v1alpha1"

ValidatingAdmissionPolicy

ValidatingAdmissionPolicy описывает определение политики валидации приема, которая принимает или отклоняет объект без его изменения.

  • apiVersion: admissionregistration.k8s.io/v1alpha1

  • kind: ValidatingAdmissionPolicy

  • metadata (ObjectMeta)

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

  • spec (ValidatingAdmissionPolicySpec)

    Спецификация желаемого поведения ValidatingAdmissionPolicy.

    ValidatingAdmissionPolicySpec — это спецификация желаемого поведения политики приема.

    • spec.validations ([]Validation), необходимо

      Атомарно: будет заменено во время слияния

      Валидации содержат выражения CEL, используемые для применения валидации. Для определения политики требуется как минимум одна валидация. Необходимо.

      Validation определяет выражение CEL, которое используется для применения валидации.

      • spec.validations.expression (string), необходимо

        Expression представляет собой выражение, которое будет вычислено CEL. См.: https://github.com/google/cel-spec Выражения CEL имеют доступ к содержимому запроса/ответа приема, организованному в переменные CEL, а также к некоторым другим полезным переменным:

        'object' — Объект из входящего запроса. Значение равно null для запросов DELETE. 'oldObject' — Существующий объект. Значение равно null для запросов CREATE. 'request' — Атрибуты запроса приема(ссылка). 'params' — Ресурс параметра, на который ссылается связка политики, которая оценивается. Заполняется только в том случае, если политика имеет ParamKind.

        apiVersion, kind, metadata.name и metadata.generateName всегда доступны из корня объекта. Другие свойства метаданных недоступны.

        Доступны только имена свойств вида [a-zA-Z_.-/][a-zA-Z0-9_.-/]*. Доступные имена свойств экранируются в соответствии со следующими правилами при обращении в выражении: - '' экранируется в 'нижние подчёркивания' - '.' экранируется в 'точка' - '-' экранируется в 'дефис' - '/' экранируется в 'слэш' - Имена свойств, которые точно совпадают с CEL-зарезервированным ключевым словом, экранируются в '{ключевое слово}__'. Ключевые слова: "true", "false", "null", "in", "as", "break", "const", "continue", "else", "for", "function", "if", "import", "let", "loop", "package", "namespace", "return". Примеры:

        • Обращение к свойству с именем "namespace": {"Expression": "object.namespace > 0"}
        • Обращение к свойству с именем "x-prop": {"Expression": "object.x__dash__prop > 0"}
        • Обращение к свойству с именем "redact__d": {"Expression": "object.redact__underscores__d > 0"}

        Равенство массивов с типом списка 'set' или 'map' игнорирует порядок элементов, т. е. [1, 2] == [2, 1]. Конкатенация массивов с x-kubernetes-list-type использует семантику типа списка:

        • 'set': X + Y выполняет объединение, сохраняя позиции элементов в X и добавляя непересекающиеся элементы в Y, сохраняя их частичный порядок.
        • 'map': X + Y выполняет слияние, сохраняя позиции всех ключей в X, но значения перезаписываются значениями в Y при пересечении наборов ключей X и Y. Элементы в Y с непересекающимися ключами добавляются, сохраняя их частичный порядок. Необходимо.
      • spec.validations.message (string)

        Message представляет собой сообщение, отображаемое при ошибке валидации. Сообщение обязательно, если выражение содержит переводы строк. Сообщение не должно содержать переводы строк. Если не задано, сообщение — "failed rule: {Rule}". Например, "должен быть URL с хостом, соответствующим spec.host" Если выражение содержит переводы строк. Сообщение обязательно. Сообщение не должно содержать переводы строк. Если не задано, сообщение — "failed Expression: {Expression}".

      • spec.validations.reason (string)

        Reason представляет собой машиночитаемое описание причины ошибки валидации. Если это первая валидация в списке, которая завершилась ошибкой, эта причина, а также соответствующий HTTP-код ответа используются в HTTP-ответе клиенту. В настоящее время поддерживаются причины: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". Если не задано, в ответе клиенту используется StatusReasonInvalid.

    • spec.failurePolicy (string)

      FailurePolicy определяет, как обрабатывать ошибки для политики приема. Ошибки могут возникать из-за некорректных или неправильно настроенных определений или связок политики. Политика является некорректной, если spec.paramKind относится к несуществующему типу. Связка некорректна, если spec.paramRef.name относится к несуществующему ресурсу. Разрешенные значения — Ignore или Fail. По умолчанию — Fail.

END_OF_DOCUMENT_MARKER
    • spec.matchConstraints (MatchResources)

      MatchConstraints определяет, какие ресурсы эта политика предназначена для проверки. Политика AdmissionPolicy обращает внимание на запрос, если он соответствует всем ограничениям. Однако, чтобы предотвратить попадание кластеров в нестабильное состояние, из которого нельзя восстановиться через API, ValidatingAdmissionPolicy не может соответствовать ValidatingAdmissionPolicy и ValidatingAdmissionPolicyBinding. Обязательно.

      MatchResources определяет, следует ли запускать политику контроля доступа к объекту на основе соответствия критериям сопоставления. Правила исключения имеют приоритет перед правилами включения (если ресурс соответствует обоим, он исключается)

      • spec.matchConstraints.excludeResourceRules ([]NamedRuleWithOperations)

        Атомарно: будет заменено во время слияния

        ExcludeResourceRules описывает, какие операции с какими ресурсами/подресурсами ValidatingAdmissionPolicy не должны учитывать. Правила исключения имеют приоритет перед правилами включения (если ресурс соответствует обоим, он исключается)

        NamedRuleWithOperations — это кортеж операций и ресурсов с именами ресурсов.

        • spec.matchConstraints.excludeResourceRules.apiGroups ([]string)

          Атомарно: будет заменено во время слияния

          APIGroups — это группы API, к которым относятся ресурсы. '' — все группы. Если '' присутствует, длина среза должна быть равна одному. Обязательно.

        • spec.matchConstraints.excludeResourceRules.apiVersions ([]string)

          Атомарно: будет заменено во время слияния

          APIVersions — это версии API, к которым относятся ресурсы. '' — все версии. Если '' присутствует, длина среза должна быть равна одному. Обязательно.

        • spec.matchConstraints.excludeResourceRules.operations ([]string)

          Атомарно: будет заменено во время слияния

          Operations — это операции, которые интересуют адмиссионный хук: CREATE, UPDATE, DELETE, CONNECT или * для всех этих операций и любых будущих операций адмиссии, которые будут добавлены. Если '*' присутствует, длина среза должна быть равна одному. Обязательно.

        • spec.matchConstraints.excludeResourceRules.resourceNames ([]string)

          Атомарно: будет заменено во время слияния

          ResourceNames — это необязательный белый список имен, к которым относится правило. Пустой набор означает, что все разрешено.

        • spec.matchConstraints.excludeResourceRules.resources ([]string)

          Атомарно: будет заменено во время слияния

          Resources — это список ресурсов, к которым применяется это правило.

          Например: 'pods' — означает pods. 'pods/log' — означает подресурс log pods. '' — означает все ресурсы, но не подресурсы. 'pods/' — означает все подресурсы pods. '/scale' — означает все подресурсы scale. '/*' — означает все ресурсы и их подресурсы.

          Если присутствует символ подстановки, правило валидации будет гарантировать, что ресурсы не перекрывают друг друга.

          В зависимости от содержащего объекта, подресурсы могут быть недоступны. Обязательно.

        • spec.matchConstraints.excludeResourceRules.scope (string)

          scope указывает область действия этого правила. Допустимые значения — "Cluster", "Namespaced" и "". "Cluster" означает, что только ресурсы уровня кластера будут соответствовать этому правилу. Объекты API пространства имен являются ресурсами уровня кластера. "Namespaced" означает, что только ресурсы пространства имен будут соответствовать этому правилу. "" означает, что ограничений по области действия нет. Подресурсы соответствуют области действия родительского ресурса. Значение по умолчанию — "".

      • spec.matchConstraints.matchPolicy (string)

        matchPolicy определяет, как используется список "MatchResources" для сопоставления входящих запросов. Допустимые значения — "Exact" или "Equivalent".

        • Exact: сопоставляет запрос только в том случае, если он точно соответствует указанному правилу. Например, если развертывания могут быть изменены через apps/v1, apps/v1beta1 и extensions/v1beta1, но "rules" содержат только apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"], запрос к apps/v1beta1 или extensions/v1beta1 не будет отправлен в ValidatingAdmissionPolicy.

        • Equivalent: сопоставляет запрос, если он изменяет ресурс, указанный в правилах, даже через другую группу или версию API. Например, если развертывания могут быть изменены через apps/v1, apps/v1beta1 и extensions/v1beta1, а "rules" содержат только apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"], запрос к apps/v1beta1 или extensions/v1beta1 будет преобразован в apps/v1 и отправлен в ValidatingAdmissionPolicy.

        Значение по умолчанию — "Equivalent".

      • spec.matchConstraints.namespaceSelector (LabelSelector)

        NamespaceSelector определяет, следует ли запускать политику контроля доступа к объекту на основе того, соответствует ли пространство имен этого объекта селектору. Если сам объект является пространством имен, соответствие выполняется для object.metadata.labels. Если объект — другой ресурс уровня кластера, политика никогда не пропускается.

        Например, чтобы запустить веб-хук для всех объектов, пространство имен которых не связано с "runlevel" "0" или "1", вы установите селектор следующим образом: "namespaceSelector": { "matchExpressions": [ { "key": "runlevel", "operator": "NotIn", "values": [ "0", "1" ] } ] }

        Если вместо этого вы хотите запустить политику только для всех объектов, пространство имен которых связано со "environment" "prod" или "staging", вы установите селектор следующим образом: "namespaceSelector": { "matchExpressions": [ { "key": "environment", "operator": "In", "values": [ "prod", "staging" ] } ] }

        См. https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ для получения дополнительных примеров селекторов меток.

        По умолчанию установлен пустой LabelSelector, который соответствует всему.

      • spec.matchConstraints.objectSelector (LabelSelector)

        ObjectSelector определяет, следует ли запускать валидацию на основе того, есть ли у объекта соответствующие метки. objectSelector оценивается по отношению как к старому объекту (oldObject), так и к новому объекту (newObject), которые будут отправлены в валидацию cel, и считается, что он соответствует, если соответствует хотя бы один из объектов. Объект null (oldObject в случае создания или newObject в случае удаления) или объект, который не может иметь метки (например, DeploymentRollback или PodProxyOptions), не считается соответствующим. Используйте селектор объекта только в том случае, если веб-хук является добровольным, так как конечные пользователи могут пропустить адмиссионный веб-хук, установив метки. По умолчанию установлен пустой LabelSelector, который соответствует всему.

      • spec.matchConstraints.resourceRules ([]NamedRuleWithOperations)

        Атомарно: будет заменено во время слияния

        ResourceRules описывает, какие операции с какими ресурсами/подресурсами сопоставляет ValidatingAdmissionPolicy. Политика обращает внимание на операцию, если она соответствует любому правилу.

        NamedRuleWithOperations — это кортеж операций и ресурсов с именами ресурсов.

        • spec.matchConstraints.resourceRules.apiGroups ([]string)

          Атомарно: будет заменено во время слияния

          APIGroups — это группы API, к которым относятся ресурсы. '' — все группы. Если '' присутствует, длина среза должна быть равна одному. Обязательно.

        • spec.matchConstraints.resourceRules.apiVersions ([]string)

          Атомарно: будет заменено во время слияния

          APIVersions — это версии API, к которым относятся ресурсы. '' — все версии. Если '' присутствует, длина среза должна быть равна одному. Обязательно.

        • spec.matchConstraints.resourceRules.operations ([]string)

          Атомарно: будет заменено во время слияния

          Operations — это операции, которые интересуют адмиссионный хук: CREATE, UPDATE, DELETE, CONNECT или * для всех этих операций и любых будущих операций адмиссии, которые будут добавлены. Если '*' присутствует, длина среза должна быть равна одному. Обязательно.

        • spec.matchConstraints.resourceRules.resourceNames ([]string)

          Атомарно: будет заменено во время слияния

          ResourceNames — это необязательный белый список имен, к которым относится правило. Пустой набор означает, что все разрешено.

        • spec.matchConstraints.resourceRules.resources ([]string)

          Атомарно: будет заменено во время слияния

          Resources — это список ресурсов, к которым применяется это правило.

          Например: 'pods' — означает pods. 'pods/log' — означает подресурс log pods. '' — означает все ресурсы, но не подресурсы. 'pods/' — означает все подресурсы pods. '/scale' — означает все подресурсы scale. '/*' — означает все ресурсы и их подресурсы.

          Если присутствует символ подстановки, правило валидации будет гарантировать, что ресурсы не перекрывают друг друга.

          В зависимости от содержащего объекта, подресурсы могут быть недоступны. Обязательно.

        • spec.matchConstraints.resourceRules.scope (string)

          scope указывает область действия этого правила. Допустимые значения — "Cluster", "Namespaced" и "". "Cluster" означает, что только ресурсы уровня кластера будут соответствовать этому правилу. Объекты API пространства имен являются ресурсами уровня кластера. "Namespaced" означает, что только ресурсы пространства имен будут соответствовать этому правилу. "" означает, что ограничений по области действия нет. Подресурсы соответствуют области действия родительского ресурса. Значение по умолчанию — "".

    • spec.paramKind (ParamKind)

      ParamKind указывает тип ресурсов, используемых для параметризации этой политики. Если отсутствует, для этой политики нет параметров, и переменная param CEL не будет предоставлена выражениям валидации. Если ParamKind относится к несуществующему типу, это определение политики неправильно сконфигурировано, и применяется политика FailurePolicy. Если paramKind указан, но paramRef не задан в ValidatingAdmissionPolicyBinding, переменная params будет null.

      ParamKind — это кортеж группы, типа и версии.

      • spec.paramKind.apiVersion (string)

        APIVersion — это группа API-версия, к которой относятся ресурсы. В формате "group/version". Обязательно.

      • spec.paramKind.kind (string)

        Kind — это тип API-ресурса, к которому относятся ресурсы. Обязательно.

СписокValidatingAdmissionPolicy

ValidatingAdmissionPolicyList — это список ValidatingAdmissionPolicy.

  • apiVersion (строка)

    APIVersion определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

  • items ([]ValidatingAdmissionPolicy)

    Список ValidatingAdmissionPolicy.

  • kind (строка)

    Kind — строковое значение, представляющее REST-ресурс, который представляет этот объект. Серверы могут определить это по адресу конечной точки, к которому клиент отправляет запросы. Не может быть обновлено. В CamelCase. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

  • metadata (ListMeta)

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

Связывание политики валидации доступа

ValidatingAdmissionPolicyBinding связывает политику валидации доступа с параметризованными ресурсами. ValidatingAdmissionPolicyBinding и параметризованные CRD вместе определяют, как администраторы кластера настраивают политики для кластеров.

  • apiVersion (строка)

    APIVersion определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

  • kind (строка)

    Kind — строковое значение, представляющее REST-ресурс, который представляет этот объект. Серверы могут определить это по адресу конечной точки, к которому клиент отправляет запросы. Не может быть обновлено. В CamelCase. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

  • metadata (ObjectMeta)

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

  • spec (ValidatingAdmissionPolicyBindingSpec)

    Описание желаемого поведения привязки ValidatingAdmissionPolicyBinding.

    ValidatingAdmissionPolicyBindingSpec — это описание привязки ValidatingAdmissionPolicyBinding.

    • spec.matchResources (MatchResources)

      MatchResources определяет, какие ресурсы соответствуют этой привязке и будут проверены ею. Обратите внимание, что это пересекается с matchConstraints политики, поэтому только запросы, соответствующие политике, могут быть выбраны этим. Если это не установлено, все ресурсы, соответствующие политике, проверяются этой привязкой. Если resourceRules не заданы, соответствие ресурсов не ограничивается. Если ресурс соответствует другим полям этого объекта, он будет проверен. Обратите внимание, что это отличается от matchConstraints ValidatingAdmissionPolicy, где resourceRules обязательны.

      MatchResources определяет, нужно ли запускать политику контроля допуска для объекта на основе соответствия критериям сопоставления. Правила исключения имеют приоритет над правилами включения (если ресурс соответствует обоим, он исключается)

      • spec.matchResources.excludeResourceRules ([]NamedRuleWithOperations)

        Атомарно: будет заменено при слиянии

        ExcludeResourceRules описывает, какие операции с какими ресурсами/подресурсами ValidatingAdmissionPolicy не должна учитывать. Правила исключения имеют приоритет над правилами включения (если ресурс соответствует обоим, он исключается)

        NamedRuleWithOperations — это кортеж из операций и ресурсов с именами ресурсов.

        • spec.matchResources.excludeResourceRules.apiGroups ([]string)

          Атомарно: будет заменено при слиянии

          APIGroups — это группы API, к которым принадлежат ресурсы. «*» — все группы. Если «*» присутствует, длина среза должна быть равна единице. Требуется.

        • spec.matchResources.excludeResourceRules.apiVersions ([]string)

          Атомарно: будет заменено при слиянии

          APIVersions — это API-версии, к которым относятся ресурсы. «*» — все версии. Если «*» присутствует, длина среза должна быть равна единице. Требуется.

        • spec.matchResources.excludeResourceRules.operations ([]string)

          Атомарно: будет заменено при слиянии

          Operations — это операции, о которых заботится обработчик допуска — CREATE, UPDATE, DELETE, CONNECT или * для всех этих операций и любых будущих операций допуска, которые будут добавлены. Если «*» присутствует, длина среза должна быть равна единице. Требуется.

        • spec.matchResources.excludeResourceRules.resourceNames ([]string)

          Атомарно: будет заменено при слиянии

          ResourceNames — это необязательный белый список имен, к которым относится правило. Пустой набор означает, что все разрешено.

        • spec.matchResources.excludeResourceRules.resources ([]string)

          Атомарно: будет заменено при слиянии

          Resources — это список ресурсов, к которым относится это правило.

          Например: «pods» означает pods. «pods/log» означает подресурс журнала pods. «*» означает все ресурсы, но не подресурсы. «pods/*» означает все подресурсы pods. «*/scale» означает все подресурсы scale. «*/*» означает все ресурсы и их подресурсы.

          Если присутствует символ подстановки, правило валидации гарантирует, что ресурсы не перекрывают друг друга.

          В зависимости от окружающего объекта, подресурсы могут быть не разрешены. Требуется.

        • spec.matchResources.excludeResourceRules.scope (string)

          scope определяет область действия этого правила. Допустимые значения — «Cluster», «Namespaced» и «*». «Cluster» означает, что только ресурсы уровня кластера будут соответствовать этому правилу. Объекты API пространства имен являются ресурсами уровня кластера. «Namespaced» означает, что только ресурсы пространства имен будут соответствовать этому правилу. «*» означает, что ограничений по области действия нет. Подресурсы соответствуют области действия родительского ресурса. По умолчанию — «*».

      • spec.matchResources.matchPolicy (string)

        matchPolicy определяет, как используется список «MatchResources» для сопоставления входящих запросов. Допустимые значения — «Exact» или «Equivalent».

        • Exact: сопоставляет запрос только в том случае, если он точно соответствует указанному правилу. Например, если развертывания можно изменять с помощью apps/v1, apps/v1beta1 и extensions/v1beta1, но «rules» содержали только apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"], запрос к apps/v1beta1 или extensions/v1beta1 не будет отправлен в ValidatingAdmissionPolicy.

        • Equivalent: сопоставляет запрос, если изменяет ресурс, указанный в правилах, даже через другую группу API или версию. Например, если развертывания можно изменять с помощью apps/v1, apps/v1beta1 и extensions/v1beta1, а «rules» содержали только apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"], запрос к apps/v1beta1 или extensions/v1beta1 будет преобразован в apps/v1 и отправлен в ValidatingAdmissionPolicy.

        По умолчанию «Equivalent»

      • spec.matchResources.namespaceSelector (LabelSelector)

        NamespaceSelector определяет, нужно ли запускать политику контроля допуска для объекта на основе соответствия пространства имен этого объекта селектору. Если сам объект является пространством имен, соответствие выполняется по object.metadata.labels. Если объект является другим ресурсом уровня кластера, он никогда не пропускает политику.

        Например, чтобы запустить веб-хук для любых объектов, пространство имен которых не связано с «runlevel» «0» или «1», вы установите селектор следующим образом: «namespaceSelector»: { «matchExpressions»: [ { «key»: «runlevel», «operator»: «NotIn», «values»: [ «0», «1» ] } ] }

        Если вместо этого вы хотите запустить политику только для объектов, пространство имен которых связано с «environment» «prod» или «staging», вы установите селектор следующим образом: «namespaceSelector»: { «matchExpressions»: [ { «key»: «environment», «operator»: «In», «values»: [ «prod», «staging» ] } ] }

        См. https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ для получения дополнительных примеров селекторов меток.

        По умолчанию пустой LabelSelector, который соответствует всему.

      • spec.matchResources.objectSelector (LabelSelector)

        ObjectSelector определяет, нужно ли запускать валидацию на основе наличия у объекта соответствующих меток. objectSelector оценивается как для oldObject, так и для newObject, которые будут отправлены в валидацию cel, и считается, что он соответствует, если соответствует хотя бы один из объектов. Нулевой объект (oldObject в случае создания или newObject в случае удаления) или объект, который не может иметь метки (например, DeploymentRollback или PodProxyOptions), не считается соответствующим. Используйте селектор объекта только в том случае, если веб-хук является необязательным, так как конечные пользователи могут пропустить веб-хук допуска, установив метки. По умолчанию пустой LabelSelector, который соответствует всему.

      • spec.matchResources.resourceRules ([]NamedRuleWithOperations)

        Атомарно: будет заменено при слиянии

        ResourceRules описывает, какие операции с какими ресурсами/подресурсами соответствует ValidatingAdmissionPolicy. Политика заботится об операции, если она соответствует любому правилу.

        NamedRuleWithOperations — это кортеж из операций и ресурсов с именами ресурсов.

        • spec.matchResources.resourceRules.apiGroups ([]string)

          Атомарно: будет заменено при слиянии

          APIGroups — это группы API, к которым принадлежат ресурсы. «*» — все группы. Если «*» присутствует, длина среза должна быть равна единице. Требуется.

        • spec.matchResources.resourceRules.apiVersions ([]string)

          Атомарно: будет заменено при слиянии

          APIVersions — это API-версии, к которым относятся ресурсы. «*» — все версии. Если «*» присутствует, длина среза должна быть равна единице. Требуется.

        • spec.matchResources.resourceRules.operations ([]string)

          Атомарно: будет заменено при слиянии

          Operations — это операции, о которых заботится обработчик допуска — CREATE, UPDATE, DELETE, CONNECT или * для всех этих операций и любых будущих операций допуска, которые будут добавлены. Если «*» присутствует, длина среза должна быть равна единице. Требуется.

        • spec.matchResources.resourceRules.resourceNames ([]string)

          Атомарно: будет заменено при слиянии

          ResourceNames — это необязательный белый список имен, к которым относится правило. Пустой набор означает, что все разрешено.

        • spec.matchResources.resourceRules.resources ([]string)

          Атомарно: будет заменено при слиянии

          Resources — это список ресурсов, к которым относится это правило.

          Например: «pods» означает pods. «pods/log» означает подресурс журнала pods. «*» означает все ресурсы, но не подресурсы. «pods/*» означает все подресурсы pods. «*/scale» означает все подресурсы scale. «*/*» означает все ресурсы и их подресурсы.

          Если присутствует символ подстановки, правило валидации гарантирует, что ресурсы не перекрывают друг друга.

          В зависимости от окружающего объекта, подресурсы могут быть не разрешены. Требуется.

        • spec.matchResources.resourceRules.scope (string)

          scope определяет область действия этого правила. Допустимые значения — «Cluster», «Namespaced» и «*». «Cluster» означает, что только ресурсы уровня кластера будут соответствовать этому правилу. Объекты API пространства имен являются ресурсами уровня кластера. «Namespaced» означает, что только ресурсы пространства имен будут соответствовать этому правилу. «*» означает, что ограничений по области действия нет. Подресурсы соответствуют области действия родительского ресурса. По умолчанию — «*».

    • spec.paramRef (ParamRef)

      ParamRef указывает ресурс параметра, используемый для настройки политики контроля допуска. Он должен указывать на ресурс типа, указанного в ParamKind привязанной ValidatingAdmissionPolicy. Если политика задает ParamKind, а ресурс, на который ссылается ParamRef, не существует, эта привязка считается неправильно сконфигурированной, и применяется FailurePolicy ValidatingAdmissionPolicy.

      ParamRef ссылается на ресурс параметра

      • spec.paramRef.name (string)

        Имя ссылаемого ресурса.

      • spec.paramRef.namespace (string)

        Пространство имен ссылаемого ресурса. Должно быть пустым для ресурсов уровня кластера

    • spec.policyName (string)

      PolicyName ссылается на имя ValidatingAdmissionPolicy, к которому привязана ValidatingAdmissionPolicyBinding. Если ссылаемый ресурс не существует, эта привязка считается недействительной и будет проигнорирована. Требуется.

© 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/extend-resources/validating-admission-policy-v1alpha1/

Spec-Zone.ru

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