External Secrets是一个开源的Kubernetes运营商,它与AWS Secrets Manager、HashiCorp Vault、Google Secret Manager和Azure Key Vault等外部秘密管理系统集成,旨在实现将秘密从外部API同步到Kubernetes。该项目是作为 最近宣布的 CS实验室的一部分来管理的。
在本系列的前两篇文章中,我们研究了用AWS和GCP设置外部秘密的问题。这一次,我们将使用Hashicorp Vault 作为秘密提供者。在本教程中,我们将建立自己的Hashicorp Vault实例,使用 Kubernetes认证为我们的工作负载配置认证,然后使用External-Secrets从我们的Vault实例获取信息。
开始学习
为了正确地学习本教程,请确保你已经安装了以下工具。
- Helm第3版
- minikube - 或任何其他kubernetes集群
- 部署了external-secrets
- 安装了vault cli
Kubernetes认证
External-secrets允许为Hashicorp Vault提供商配置几种认证方法。为了运行这个例子,我们需要执行以下步骤。
1.设置Hashicorp Vault
2.配置Hashicorp Vault认证。
a.创建一个策略;
b.配置Kubernetes认证端点;
c.创建一个角色;
d.将角色绑定到kubernetes认证端点。
3.配置 "外部机密"。
设置Hashicorp Vault
为了部署Hashicorp Vault,我们将使用他们的Helm图。如果你已经部署了Vault,或者你正在使用Hashicorp云平台,你可以跳过这一步,直接进入