Vault Kubernetes 身份验证

Vault Kubernetes Authentication

我有自己的托管 Kubernetes 集群,我将秘密存储在保险库中。为了让我的微服务访问由保管库管理的秘密,我想通过他们的服务帐户对我的微服务进行身份验证。我面临的问题是保险库拒绝服务帐户 (JWT) 并出现以下错误:

apis/authentication.k8s.io/v1/tokenreviews: x509: certificate signed by unknown authority

服务帐户使用 Kubernetes 自己的 CA 进行签名。我没有用 Vault 的 pki 解决方案替换它。是否可以将 Vault 配置为信任我的 Kubernetes CA 证书并因此信任 JWT?

这种错误可能是由于 Kubernetes 1.21 中最近对 Service Account Issuer Discovery 的更改引起的。

为了缓解这个问题,您可以根据自己的期望选择以下几个选项:

  1. 手动创建一个服务帐户,保密并将其安装在 pod 中,如所述on this github post
  2. 如前所述禁用颁发者验证on another github post
  3. 将集群降级到版本 1.20。

banzaicloud.com and particule.io 上也有一些关于此的外部博客文章。