Назад к вопросам
Middle+
86
questionbank
Что такое admission вебхуки?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Admission Webhooks в Kubernetes — это HTTP-колбеки, которые получают запросы на изменение или создание ресурсов. Они позволяют перехватывать запросы к API-серверу Kubernetes перед сохранением объектов в Etcd.
Существует два основных типа:
- Mutating Admission Webhooks: Могут изменять объекты до их сохранения. Например, автоматически добавлять метки или аннотации к подам.
- Validating Admission Webhooks: Могут отклонять запросы, если объекты не соответствуют определенным правилам. Например, запрещать создание подов без определенных полей securityContext.
Вебхуки разворачиваются как сервисы в кластере и определяются с помощью ресурсов MutatingWebhookConfiguration и ValidatingWebhookConfiguration. Эти ресурсы указывают, какие операции (CREATE, UPDATE, DELETE) и для каких ресурсов (pods, deployments и т.д.) вебхук должен вызываться.
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: example-validating-webhook
webhooks:
- name: validate.example.com # Имя хука
clientConfig:
service:
namespace: default # Namespace сервиса вебхука
name: example-webhook-service # Имя сервиса вебхука
rules:
- operations: ["CREATE", "UPDATE"] # Операции для перехвата
apiGroups: [""] # Группа API (для подов)
apiVersions: ["v1"] # Версия API
resources: ["pods"] # Тип ресурса
sideEffects: None # Указывает, имеет ли хук побочные эффекты (тут нет)
Они позволяют реализовать кастомную логику политики и мутации ресурсов, дополняя встроенные Admission Controllers Kubernetes.