gpt4 book ai didi

kubernetes - 使用Helm图表在MutatingWebhookConfiguration中设置caBundle

转载 作者:行者123 更新时间:2023-12-02 12:13:53 25 4
gpt4 key购买 nike

caBundleMutatingWebhookConfiguration定义here为:

caBundle is a PEM encoded CA bundle which will be used to validate the webhook's server certificate. If unspecified, system trust roots on the apiserver are used.



我正在通过此命令获得PEM编码的CA bundle 包。

kubectl config view --raw --minify --flatten \ 
-o jsonpath='{.clusters[].cluster.certificate-authority-data}'

结果值被保存在 sed命令中使用的变量中,以替换"template" YAML中的 CA_BUNDLE字符串,如下所示。
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
name: WEBHOOK_APP
labels:
app: WEBHOOK_APP
webhooks:
- name: com.demo.NAMESPACE.WEBHOOK_APP
sideEffects: None
admissionReviewVersions: ["v1", "v1beta1"]
matchPolicy: Equivalent
failurePolicy: Fail
clientConfig:
caBundle: CA_BUNDLE
service:
name: WEBHOOK_APP
namespace: NAMESPACE
path: "/mutate"
rules:
- operations: [ "CREATE", "UPDATE" ]
apiGroups: [""]
apiVersions: ["v1"]
resources: ["pods"]
scope: "*"

Helm图表中传递 CA_BUNDLE的方式是什么?

最佳答案

由于安全原因,无法从掌 Helm chart 中的env变量直接读取变量,并且该功能未在this document中实现为状态。

在 Helm 图表中,您始终可以创建变量,例如myCAbundleVariable文件中的values.yaml将保存您的PEM编码的CA,然后使用图表中此变量的值,如下所示:

webhooks:
- ...
clientConfig:
caBundle: {{ .myCAbundleVariable }}

如果要在运行helm命令时传递值“在运行时”,则可以使用 --set参数。

因此,您的 Helm 命令如下所示:
helm install ... --set myCAbundleVariable=$(kubectl config view --raw --minify --flatten \
-o jsonpath='{.clusters[].cluster.certificate-authority-data}')`

让我知道是否有帮助。

关于kubernetes - 使用Helm图表在MutatingWebhookConfiguration中设置caBundle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59485563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com