1,将配置文件直接打包到镜像中,但这种方式不推荐使用,因为修改配置不够灵活,特别是环境多的时候,比如我们公司有3套环境,每次都要重新打包镜像
2,存储卷: 我们可将配置信息直接放到存储卷中,如PV中,Pod启动时,自动挂载存储卷到配置文件目录,来实现给Pod中应用提供不同的配置,个人觉得不怎么好用
3,用configmap 就是为了让镜像 和 配置文件解耦,以便实现镜像的可移植性和可复用性
下面,上才艺(纯属自娱自乐)
一,创建一个configmap
pod依赖configMap配置文件,所以要先发布这个,查看configMap
kubectl get cm
查看详细信息
kubectl describe cm petclinic-config(这个规则的详细)
apiVersion: v1
kind: ConfigMap
metadata:
name: petclinic-config-v1
data:
SPRING_PROFILES_ACTIVE: mysql
DATASOURCE_URL: 192.168.1.10
DATASOURCE_USERNAME: root
DATASOURCE_PASSWORD: 123qqq...A
DATASOURCE_INIT_MODE: always
TEST_CONFIG: test_config_v1 #这个是测试用的,看环境变量生效没
apiVersion: apps/v1
kind: Deployment
metadata:
name: petclinic
spec:
selector:
matchLabels:
app: petclinic
replicas: 1
templ