You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Minikube中配置OPA验证Webhook时YAML文件验证失败

问题描述

在Minikube集群部署OPA准入控制器时,配置验证Webhook的YAML文件报错,无法创建ValidatingWebhookConfiguration。

错误信息

error when creating "admission-webhook.yaml": ValidatingWebhookConfiguration in version "v1" cannot be handled as a ValidatingWebhookConfiguration: illegal base64 data at input byte 0

涉事YAML配置

apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
  name: opa-validating-webhook
webhooks:
  - name: validating-webhook.openpolicyagent.org
    namespaceSelector:
      matchExpressions:
      - key: openpolicyagent.org/webhook
        operator: NotIn
        values:
        - ignore
    rules:
      - operations: ["CREATE", "UPDATE"]
        apiGroups: ["*"]
        apiVersions: ["*"]
        resources: ["*"]
    clientConfig:
      caBundle: $(cat ca.crt | base64 | tr -d '\n')
      service:
        namespace: opa
        name: opa
    admissionReviewVersions: ["v1"]
    sideEffects: None
解决方案

问题根源是caBundle字段的写法错误:你直接填入了shell命令$(cat ca.crt | base64 | tr -d '\n'),但Kubernetes无法识别这种占位符,它需要的是实际的base64编码后的CA证书字符串。

两种解决方式:

  • 手动替换:先在本地执行该shell命令,拿到输出的base64字符串,替换掉YAML中caBundle后的命令内容。
  • 自动替换:用envsubst工具自动解析占位符后再应用YAML,执行命令:
    envsubst < admission-webhook.yaml | kubectl apply -f -
    

内容的提问来源于stack exchange,提问作者Rohan Bansal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 23:21:05