
Kubernetes 控制器之 ConfigMap 与 Secret 异同
相同点
功能作用:ConfigMap 与 Secret 都用于存储配置数据,以便 Pod 可以访问这些数据
创建方式:ConfigMap 与 Secret 都可以通过命令行工具或 API 创建
存储方式:ConfigMap 与 Secret 都以键值对的形式存储数据
访问方式:Pod 可以通过环境变量或卷挂载来访问 ConfigMap 与 Secret 中定义的数据
更新策略:ConfigMap 与 Secret 内容更新时,使用该 ConfigMap 与 Secret 的 Pod 不会自动更新环境变量或卷挂载,需要手动重启 Pod
访问权限:ConfigMap 与 Secret 都支持使用 RBAC 规则控制访问权限
不同点
使用场景
ConfigMap:用于存储非敏感数据,如配置文件、环境变量等
Secret:用于存储敏感数据,如密码、OAuth令牌、SSH密钥等
数据存储
ConfigMap:数据在 Etcd 中以明文形式存储,不会自动加密
Secret:数据在 Etcd 中默认加密存储,提供额外的安全保障
区分类型
ConfigMap:不区分类型
Secret:区分类型,如 Opaque 等
大小限制
ConfigMap:通常没有大小限制,但建议不要超过 1MB
Secret:由于需要加密存储,通常有大小限制,不同环境下限制可能不同
访问权限
ConfigMap:通常对所有用户开放,除非特别设置 RBAC 策略
Secret:由于包含敏感信息,通常需要更严格的访问控制
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 咸鱼博客
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果