Использовать секрет для ValidatingWebhookConfiguration - PullRequest
1 голос
/ 11 марта 2020

Чтобы моя ValidatingWebhookConfiguration работала, мне нужно выполнить несколько команд openssl, а затем скопировать, вставить (или sed) центр сертификации в мой файл deploy.yaml, где определен мой webhook. Но это не совсем чисто. Я знаю, что могу поместить свой ЦС в Секрет, но как я могу оценить этот секрет в конфигурации ValidatingWebhook, пожалуйста?

apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
metadata:
  name: webhook-test
webhooks:
- name: my.webhook.frick
  failurePolicy: Fail
  clientConfig:
    caBundle: CA_BUNDLE_THAT_I_HAVE_TO_PASTE_BY_HAND
    service:
      name: validating-svc
      namespace: default
      path: /services/validate
  rules:
      ...

Все команды openssl:

openssl genrsa -out certs/ca.key 2048;
openssl req -new -x509 -key certs/ca.key -out certs/ca.crt -config certs/ca_config.txt
openssl genrsa -out certs/chris.pem 2048;
openssl req -new -key certs/chris.pem -subj "/CN=validating-svc.default.svc" -out certs/chris.csr -config certs/chris_config.txt;
openssl x509 -req -in certs/chris.csr -CA certs/ca.crt -CAkey certs/ca.key -CAcreateserial -out certs/chris-crt.pem;
export CA_BUNDLE=$(cat certs/ca.crt | base64 | tr -d '\n'); # Copy paste in deploy.yaml

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

1 Ответ

0 голосов
/ 11 марта 2020

У вас может быть контроллер для внедрения пакета CA в ресурсы Webhook ValidatingWebhookConfiguration и MutatingWebhookConfiguration, чтобы позволить серверу Kubernetes API доверять серверу API webhook. ca инжектор из менеджер сертификатов делает именно это, и вы можете использовать его в качестве справочного материала, поскольку исходный код является открытым исходным кодом.

...