本文主要是介绍K8S Secret管理之SealedSecrets,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 关于K8S Secret
我们通常将应用程序使用的密码、API密钥保存在K8S Secret中,然后应用去引用。对于这些敏感信息,安全性是至关重要的,而传统的存储方式可能会导致密钥在存储、传输或使用过程中受到威胁,例如在git中明文存储密码或在配置文件中以明文形式存放密码。
2 SealedSecrets
为了解决Secret的安全问题,SealedSecrets通过使用公钥加密技术来提高密钥的安全性。它使用了非对称加密算法,将明文的secret加密为SealedSecrets,只有具有相应私钥的受信任的控制器才能解密和使用密钥。在这种情况下,即使是创建密钥的人也无法从加密的secret中恢复原始secret。
3 部署SealedSecrets
直接通过helm安装,
helm repo add sealed-secrets https://bitnami-labs.github.io/sealed-secrets
helm search repo sealed-secrets/sealed-secrets
NAME CHART VERSION APP VERSION DESCRIPTION
sealed-secrets/sealed-secrets 2.15.3 0.26.2 Helm chart for the sealed-secrets controller.
这里有个坑,需要注意下,因为默认helm安装的controller名字是sealed-secrets,但是客户端工具kubeseal默认是用的服务名称是sealed-secrets-controller,因此安装时要通过–set-string设置下名字,否则使用kubeseal时会有下列报错,
error: cannot get sealed secret service: services "sealed-secrets-controller" not found.
Please, use the flag --controller-name and --controller-namespace to set up the name and namespace of the sealed secrets controller
安装当前最新版本2.15.3
helm install sealed-secrets --set-string fullnameOverride=sealed-secrets-controller sealed-secrets/sealed-secrets --version 2.15.3
NAME: sealed-secrets
LAST DEPLOYED: ...
NAMESPACE: kube-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:...
sealed-secrets默认会安装到kube-system namespace,
kubectl get po -n kube-system | grep sealed-secrets
sealed-secrets-6bdbdfcf6-kgt7x 1/1 Ru
这篇关于K8S Secret管理之SealedSecrets的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!