技术分享|如何安全的使用 Kubernetes configMap
发布时间:
2023-07-21 15:24
前言
在我们了解如何使用ConfigMap之前,让我们先探索一下ConfigMap的技术细节以及它在Kubernetes中扮演的角色。
01 ConfigMap的工作原理
-
将ConfigMap作为数据卷挂载到Pod中,以供Pod直接读取配置数据。 -
在同一Kubernetes命名空间中的Pod可以通过远程访问来获取ConfigMap中的配置数据。 -
将ConfigMap与Pod分离,使其它Kubernetes集群组件可以使用它们,例如使用ConfigMap中的数据进行动态配置或调整。
需要注意的是,ConfigMap的大小限制为1 MB。如果有更大的数据集,应考虑其他数据存储选项,如数据库、单独的文件挂载或文件服务。ConfigMap适合存储较小的配置数据,而不适合存储大型数据集。
02 ConfigMap的作用
ConfigMap发挥的关键作用是通过将应用程序代码与配置设置分离来使应用程序可移植。这种分离使得有效地从开发环境迁移到测试环境并最终迁移到生产环境成为可能。
03 安全使用ConfigMap
-
Docker Desktop新版本 -
Minikube -
Kubectl -
代码编辑器,例如VS Code




这使得 ConfigMap 作为环境变量可供容器使用。
04 Kubernetens中的Secrets
-
启用秘密数据的静态加密。许多托管的Kubernetes提供商在创建集群时会提供这个选项来对Secrets进行加密保护。 -
启用和配置RBAC(Role-Based Access Control)规则,以限制对Secrets的读取和编辑权限。 -
使用RBAC限制Secrets的创建者,确保只有授权的用户或角色能够创建和管理Secrets。
05 ConfigMap与Secrets的区别
主要区别在于数据的保密性:Secrets会对数据进行Base64编码以保护机密性,而ConfigMap中的数据是明文的。
06 如何使用ConfigMap

上面的ConfigMap YAML文件包含了非敏感的数据库连接细节,包括服务器主机、服务器端口和数据库名称。
07 如何使用Secrets

通过使用Secrets,我们能够保护数据库的用户名和密码,并确保在创建或修改Pod时不会意外地泄露这些信息。
08 Kubernetes配置安全性





