跨 Kubernetes 集群对接 Vault by Hashicorp
这篇文中,我将简单介绍如何在 Kubernetes 集群中通过 Bitnami 社区提供的 Helm Chart 搭建一个 Vault by Hashicorp 服务,并在另外一个 Kubernetes 集群中连接、读取它上面的密钥。
在理解该篇文章之前,你可能需要有对 Kubernetes 以及 Helm 最基本的了解,如果你对这两者不怎么熟悉,可以到 Kubernetes 官方网站 [1],以及 Helm 的官方网站 [2],或者其它 Kubernetes 社区去了解更多的内容。在这篇文章中,我基于 Kubernetes >= 1.24
以及 Helm >= 3.8
进行展开说明。
Vault by Hashicorp 简介
Vault by HashiCorp[3] (下文我们简称之为 Vault)是一个专注于安全性的工具,用于存储和管理敏感信息,包括但不限于令牌、密码、证书和加密密钥。它通过多种方式(UI、CLI 和 HTTP API)提供对这些敏感数据的访问控制,确保数据的安全性和保密性。用户可以通过这些接口来安全地存储、检索和管理他们的秘密数据,同时确保对这些数据的访问是经过严格控制的。
对于 Kubernetes 来说,我们可以配置让它和 Vault 对接,来让特定的服务账号可以访问特定的 KV 密钥,方便不同团队有各自密钥的修改、查看权限,可以有效避免运维人员 “一家独大” 或者说只有他一个人可以修改配置而什么事都让他来做的情况。