kubernetes - 自动将公钥分发给所有命名空间中的所有 Pod
问题描述
我有一个我所有的 pod 都需要的公钥。
我最初的想法是创建一个 ConfigMap 或 Secret 来保存它,但据我所知,它们都不能跨命名空间使用。除此之外,将相同的卷粘贴到我的所有部署中确实是样板
因此,在我看来,现在我只剩下不好的选择,例如在所有命名空间中创建相同的 ConfigMap/Secret 并在部署中执行复制粘贴操作。
还有其他选择吗?
问题后的额外信息。
- 密钥不需要保密,它是公钥,但需要以受信任的方式分发。
- 它不会经常旋转,但是当它发生时,所有图像都无法重新构建。
- 几乎所有的图像/pod 都需要这个键,并且会有数百个图像/pod。
解决方案
您可以使用 Kubernetes 初始化程序来拦截对象的创建并根据需要进行变异。这可以解决所有部署中的复制粘贴问题,并且您可以从中心位置对其进行管理。
https://medium.com/google-cloud/how-kubernetes-initializers-work-22f6586e1589
不过,您仍然需要为每个命名空间创建 configmaps/secrets。
推荐阅读
- node.js - Firebase 实时数据库读取数据不起作用
- java - java - 如何最有效地将一个ONNX模型的输出提供给java中的另一个?
- flutter - 当小部件到达屏幕的某个位置时如何触发事件?
- javascript - 如何通过函数创建按钮传递对象
- spring-boot - 在 Spring Boot 中使用 OAuth 访问令牌作为 JWT 会话的密码是否不安全?
- javascript - 通过 Javascript 隐藏具有特定样式的 Html 元素
- javascript - 如何使元素从屏幕上完全消失而不会出现故障?
- python - 无法使用 PRAW 从 2020 年 12 月 3 日之前发布的子版块中提取帖子
- java - 在 Java 中使用“Dozer”将日期/时间字符串映射到 java.sql.Timestamp 并保存在 DB 中将时间写入 00:00:00.000000
- python - 如何根据标签映射字典转换列表列表中的元素?