#kubernetes
#kubernetes
Вопрос:
У меня есть работающий изменяющий доступ хук для kubernetes. Она вызывается при первом развертывании и приложении с использованием helm. Но она не вызывается при обновлении с помощью helm. На самом деле это будет вызвано, если я изменю номер версии для развертывания. Но если изменилось только содержимое, тогда он пропускает вызов перехвата.
Как я могу заставить его всегда вызывать перехват для любого развертывания?
Вот моя конфигурация hook:
apiVersion: admissionregistration.k8s.io/v1beta1
kind: MutatingWebhookConfiguration
metadata:
name: appcfg-mutator
webhooks:
- name: appcfg-mutator.devops.primerica.com
clientConfig:
service:
name: appcfg-mutator
namespace: appcfg-mutator
path: "/"
caBundle: {{ .Values.webhook.caBundle }}
rules:
- operations: ["*"]
apiGroups: [""]
apiVersions: ["v1","v1beta1","v1beta2"]
resources: ["pod","deployments","namespaces","services"]
failurePolicy: Fail
Я регистрирую все запросы, как только они поступают, и перед десериализацией тела http rq, чтобы я мог видеть, что оно не вызывается при каждом обновлении. Только при создании, удалении или при изменении поля версии в yaml.
Ответ №1:
Оказывается, у меня была опечатка в моей конфигурации mutator для «pod» вместо «pods». Кроме того, я неправильно понял и ожидал увидеть обновления «deployments», поскольку я фактически менял yaml типа «Deployment». Это просто «модули», которые мне были нужны.
Вот исправление:
resources: ["pods","deployments","namespaces","services"]