在部署一些中间件时需要修改这些中间件的配置文件。使用K8s部署这些中间件时,推荐使用ConfigMap来指定中间对应的配置文件。
1.部署Redis
Redis的单机部署需要配置redis.config文件
创建Redis使用的ConfigMap
#vi redis.conf
apiVersion: v1
data: #data是所有真正的数据,key:默认是文件名 value:配置文件的内容
redis.conf: |
appendonly yes
kind: ConfigMap
metadata:
name: redis-conf
namespace: default
# 创建配置,redis保存到k8s的etcd;
kubectl create cm redis-conf --from-file=redis.conf
查看cm
kubectl get cm
创建Pod并使用ConfigMap
#vi redis.yaml
#kubectl apply -f xx.yaml
apiVersion: v1
kind: Pod
metadata:
name: redis
spec:
containers:
- name: redis
image: redis
command:
- redis-server
- "/redis-master/redis.conf" #指的是redis容器内部的位置
ports:
- containerPort: 6379
volumeMounts:
- mountPath: /data
name: data
- mountPath: /redis-master
name: config
volumes:
- name: data
emptyDir: {}
- name: config
configMap:
name: redis-conf
items:
- key: redis.conf
path: redis.conf
验证
- 修改自动同步
kubectl edit cm redis-conf