kubebuilder 中文文档由云原生社区主导翻译。任何问题可以在这儿提issue。issue模版可以参考这个

部署 cert manager

我们建议使用 cert manager 为 webhook 服务器提供证书。只要其他解决方案将证书放在期望的位置,也将会起作用。

你可以按照 cert manager 文档 进行安装。

Cert manager 还有一个叫做 CA 注入器的组件,该组件负责将 CA 捆绑注入到 Mutating|ValidatingWebhookConfiguration 中。

为此,你需要在 Mutating|ValidatingWebhookConfiguration 对象中使用带有 key 为 cert-manager.io/inject-ca-from 的注释。 注释的值应指向现有的证书 CR 实例,格式为 <certificate-namespace>/<certificate-name>

这是我们用于注释 Mutating|ValidatingWebhookConfiguration 对象的 kustomize patch。

# This patch add annotation to admission webhook config and
# the variables $(CERTIFICATE_NAMESPACE) and $(CERTIFICATE_NAME) will be substituted by kustomize.
apiVersion: admissionregistration.k8s.io/v1beta1
kind: MutatingWebhookConfiguration
metadata:
  name: mutating-webhook-configuration
  annotations:
    cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME)
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
metadata:
  name: validating-webhook-configuration
  annotations:
    cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME)