Kubernetes-证书管理器-创建使用Hashicorp Vault的颁发者时出错

Kubernetes-证书管理器-创建使用Hashicorp Vault的颁发者时出错,kubernetes,hashicorp-vault,cert-manager,Kubernetes,Hashicorp Vault,Cert Manager,我创建了一个vault集群,它使用模块生成的OpenSSL自签名证书 当我尝试在Kubernetes中创建使用此Vault群集的颁发者资源时,出现以下错误 validation failure list: spec.vault.caBundle in body must be of type byte: "../certs/vault-cabundle.pem" 这是我的yaml文件 apiVersion: certmanager.k8s.io/v1alpha1 kind: ClusterIs

我创建了一个vault集群,它使用模块生成的OpenSSL自签名证书

当我尝试在Kubernetes中创建使用此Vault群集的颁发者资源时,出现以下错误

validation failure list:
spec.vault.caBundle in body must be of type byte: "../certs/vault-cabundle.pem"
这是我的yaml文件

apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
  name: vault-clusterissuer
spec:
  vault:
    path: pki_int/sign/cert-manager
    server: https://vault-cluster.example.com:8200
    caBundle: /etc/ssl/certs/istio-ingress/vault-cabundle.pem
    auth:
      appRole:
        path: approle
        roleId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" 
        secretRef:
          name: cert-manager-vault-approle
          key: secretId
我已使用此命令对base64加密caBundle文件-

openssl base64 -in cabundle.pem -out vault-cabundle.pem

非常感谢您在这方面提供的任何帮助。

这似乎是由于属性caBundle的yaml文件中的预期格式。我找不到它的文档化模式。但是,我发现了一个例子。caBundle似乎只使用了一行字符串base64。我已经测试过了,它对我很有效


如果您将整个base64编码文件放在一行中,并将其放在caBundle上,它应该可以工作。请参阅发布的链接以获取示例。

caBundle字段需要是pem文件中内容的base64值。证书管理器无法从文件系统读取文件