Kubernetes - 证书管理器 - 创建使用 Hashicorp Vault 的颁发者时出错
Kubernetes - cert-manager - error while creating the issuer that uses Hashicorp Vault
我创建了一个使用由 terraform-aws-vault 模块
生成的 OpenSSL 自签名证书的保管库集群
当我尝试在使用此 Vault 集群的 Kubernetes 中创建颁发者资源时出现以下错误。
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
我已经使用这个命令对caBundle文件进行base64加密-
openssl base64 -in cabundle.pem -out vault-cabundle.pem
非常感谢对此的任何帮助。
这似乎是由于属性 caBundle 的 yaml 文件中的预期格式所致。我找不到它的文档化架构。但是,我找到了一个例子 https://github.com/kubernetes/kubernetes/issues/61171。 caBundle 似乎采用了一行 base64 字符串。我已经测试过了,它对我有用。
如果您将整个 base64 编码文件放在一行中并将其放在 caBundle 上,它应该可以工作。请参阅 link 发布的示例。
我创建了一个使用由 terraform-aws-vault 模块
生成的 OpenSSL 自签名证书的保管库集群当我尝试在使用此 Vault 集群的 Kubernetes 中创建颁发者资源时出现以下错误。
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
我已经使用这个命令对caBundle文件进行base64加密-
openssl base64 -in cabundle.pem -out vault-cabundle.pem
非常感谢对此的任何帮助。
这似乎是由于属性 caBundle 的 yaml 文件中的预期格式所致。我找不到它的文档化架构。但是,我找到了一个例子 https://github.com/kubernetes/kubernetes/issues/61171。 caBundle 似乎采用了一行 base64 字符串。我已经测试过了,它对我有用。
如果您将整个 base64 编码文件放在一行中并将其放在 caBundle 上,它应该可以工作。请参阅 link 发布的示例。