本文通过搭建MySQL环境来了解k8s的重要概念,包括持久卷,网络和参数配置。这是下篇,专门讲解参数配置。如果你有些地方不能完全看明白,请先看上篇"通过搭建MySQL掌握k8s(Kubernetes)重要概念(上):网络与持久卷"。
配置参数:
参数配置是K8s里比较重要的一个概念,它包含了下面三个部分:
- ConfigMap:是用来保存共享配置数据的。当你需要在不同的配置文件之间共享数据时,你可以把这些数据以键值对的形式存储在configMap中。详情请见"Configure a Pod to Use a ConfigMap"
- Secret:它跟configMap的作用很类似,但是用来存储保密信息的,例如数据库的口令。详情请见"Secrets"
- Environment Variable: 它就是我们所熟悉的环境变量,一般是由系统来定义。不同的系统例如Linux和Windows都有自己的方法来定义环境变量。k8s的环境变量主要是用来向容器传递数据的。详情请见"Container Environment Variables"
configMap:
下面就是configMap(mysql-config.yaml)的配置文件。它的结构很简单,最重要的就是data部分,里面是键、值列表。这是比较简单的一个例子,复杂的还可以包含文件和键、值列表的组合。你可以把configMap单独放在一个文件里,这样调试起来比较方便,也可以把它和部署(Deployment)放在一起,这样