1. 在部署一些中间件时需要修改这些中间件的配置文件。使用K8s部署这些中间件时,推荐使用ConfigMap来指定中间对应的配置文件。

1.部署Redis

Redis的单机部署需要配置redis.config文件
image.png

  1. 创建Redis使用的ConfigMap

    1. #vi redis.conf
    2. apiVersion: v1
    3. data: #data是所有真正的数据,key:默认是文件名 value:配置文件的内容
    4. redis.conf: |
    5. appendonly yes
    6. kind: ConfigMap
    7. metadata:
    8. name: redis-conf
    9. namespace: default
    1. # 创建配置,redis保存到k8s的etcd;
    2. kubectl create cm redis-conf --from-file=redis.conf
  2. 查看cm

    1. kubectl get cm

    image.png

  3. 创建Pod并使用ConfigMap

    1. #vi redis.yaml
    2. #kubectl apply -f xx.yaml
    3. apiVersion: v1
    4. kind: Pod
    5. metadata:
    6. name: redis
    7. spec:
    8. containers:
    9. - name: redis
    10. image: redis
    11. command:
    12. - redis-server
    13. - "/redis-master/redis.conf" #指的是redis容器内部的位置
    14. ports:
    15. - containerPort: 6379
    16. volumeMounts:
    17. - mountPath: /data
    18. name: data
    19. - mountPath: /redis-master
    20. name: config
    21. volumes:
    22. - name: data
    23. emptyDir: {}
    24. - name: config
    25. configMap:
    26. name: redis-conf
    27. items:
    28. - key: redis.conf
    29. path: redis.conf
  4. 验证

image.png

  1. 修改自动同步
    1. kubectl edit cm redis-conf