Mutating webhook do c ссылка - PullRequest
       15

Mutating webhook do c ссылка

0 голосов
/ 08 января 2020

Мы используем мутантный веб-крючок kubernetes, чтобы изменить запрос на создание модуля. Из того, что я понимаю, сервер API выполняет обратный вызов к конечной точке мутирующего веб-хука, который соответствует определенным правилам запроса. Теперь веб-крючок изменяет запрос, добавляя к нему исправления и отправляя его обратно на сервер API.

Пример патча:

[
  {
    "op": "add",
    "path": "/metadata/annotations",
    "value": {
      "injected": "true"
    }
  }
]

Мой вопрос такой: есть ли ссылка или do c, показывающие, как работают конечные точки патча. Я имею в виду metadata/annotations здесь.

У меня есть вопросы вроде -

  • обновляет ли он существующий объект или заменяет его?
  • какие другие операции возможны, кроме add

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

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

Ответы [ 2 ]

1 голос
/ 08 января 2020

Мутирующий webhook не исправляет объект, потому что объект еще не сохранен в ETCD. Мутирующие веб-хуки получают запрос от API-сервера. В этом запросе есть объект AdmissionReview. Мутация Webhook отменяет маршалинг объекта AdmissionReview, изменяет его, а затем отправляет обратно ответ на сервер API.

Вы начнете с базового c веб-сервера , который поддерживает SSL / TLS и может читать и отвечать в формате JSON. На практике вы можете использовать любой язык программирования, который вам нужен для этого. Однако, в действительности, используйте язык, который уже имеет библиотеки K8S, чтобы вы не делали этого. создавать собственные типы объектов; Go (естественно) имеет их, но есть также как минимум Python библиотеки, которые вы можете использовать.

Вот пример в go.

0 голосов
/ 08 января 2020

Я прошу do c о различных способах возникновения этой мутации.

Я думаю, что это можно найти в этом предложении .

...