Конечные точки API для мутирующего сервера веб-перехватчиков Kubernetes

Как описано здесь, это эталонная реализация используемого сервера веб-перехватчиков в тесте kubernetes e2e. В функции main определено несколько конечных точек для обработки различных запросов на изменение. Однако нет четкой документации. относительно того, какая конечная точка вызывается и когда.

Итак, как мы узнаем, какая конечная точка вызывается, когда?


person cogitoergosum    schedule 10.12.2019    source источник


Ответы (1)


Я вижу, вы пытаетесь понять, каков порядок выполнения мутирующих веб-перехватчиков.

Я обнаружил этот фрагмент кода в репозитории kubernetes. Основываясь на этом, вы можете видеть, что они отсортированы по имени веб-перехватчика в детерминированном порядке.

Единый порядок изменяющихся плагинов допуска (включая веб-перехватчики) не работает для всех случаев, поэтому взгляните на изменяющий порядок подключаемых модулей в предложении веб-перехватчика допуска для объяснения того, как его обрабатывают.

Также обратите внимание, что нет «конечных точек только для модулей» или «конечных точек, которые вызываются для модулей». Допустим, у вас есть сервер веб-перехватчиков и вы хотите изменить модули, а на вашем сервере только одна конечная точка: /. Если вы хотите изменить с его помощью поды, вам нужно указать его в rules. Таким образом, установка rules[].resources: ["pods"] и rules[].operations: ["CREATE"] в конфигурации вашего веб-перехватчика будет запускать ваш изменяющийся веб-перехватчик всякий раз, когда нужно создать под.

Сообщите мне, это помогло.

person Matt    schedule 10.12.2019
comment
Думаю, надо было лучше сформулировать свой вопрос. :-) Предположим, только один веб-перехватчик во всем кластере. Кроме того, предположим, что конфигурация веб-перехватчика пропустила параметр path; так что по умолчанию /. Итак, какие конечные точки должны быть доступны серверу веб-перехватчиков и для каких запросов (например, подов)? - person cogitoergosum; 11.12.2019
comment
Нет конечных точек только для модулей или конечных точек, которые вызываются для модулей. Допустим, у вас есть сервер веб-перехватчиков и вы хотите изменить модули, а на вашем сервере только одна конечная точка: /. Если вы хотите изменить с его помощью поды, вам нужно указать его в rules. Таким образом, установка rules[].resources: ["pods"] и rules[].operations: ["CREATE"] в конфигурации вашего веб-перехватчика будет запускать ваш изменяющийся веб-перехватчик всякий раз, когда нужно создать под. Отвечает ли это на ваш вопрос? - person Matt; 11.12.2019
comment
да; не могли бы вы написать это вместе со своим исходным ответом? Я приму это. - person cogitoergosum; 11.12.2019