在Kubernetes中,我们通常会使用Secret对象来保存密码、证书等机密内容,然而kubeadm缺省部署的情况下,Secret内容是用明文方式存储在ETCD数据库中的。能够轻松的用etcdctl工具获取到Secret的内容。通过修改--encryption-provider-config参数可以使用静态加密或者KMSServer的方式提高Secret数据的安全性,这种方式要求修改APIServer的参数,在托管环境下可能没有那么方便,HashicorpVault提供了一个变通的方式,用Sidecar把Vault中的内容加载成为业务容器中的文件。
安装和启动Vault