ConfigMap和Secret应用场景

ConfigMap和Secret都是Kubernetes中的资源,都是用来向Pod中的容器传递数据的。

因此,将配置数据写入Pod中的容器共需要两步:

  1. 创建ConfigMap或Secret,将配置数据写入其中;

  2. 在Pod的配置文件中进行配置,从ConfigMap或Secret中读入配置数据;

在ConfigMap和Secret中可以以键/值对的形式存放数据,其中可以是短字面量,也可以使完整的配置文件,然后

  • 将其中的条目作为环境变量传递给容器

  • 将其挂载为卷,然后将其中的条目作为文件传递给容器

Tips:

  1. Secret共包含generic, docker-registry, tls三种类型,这里说的是generic类型,其他类型中的条目有其他的方式读入;

  2. 由于Secret用于保存敏感型数据,因此不建议将Secret中的条目作为环境变量传递给容器

针对这两者,虽然都是用来向容器传递数据的,但是具有各自不同的应用场景

  • ConfigMap:存储非敏感的文本配置数据;

  • Secret:存储天生敏感的数据。如果一个配置文件中同时包含敏感数据和非敏感数据,则该文件同样需要被保存在Secret中;

Last updated

Was this helpful?