根据实践学习K8S---4.使用ConfigMap对象来统一下发配置1

本文介绍了如何在Kubernetes(K8S)环境中利用ConfigMap进行配置文件的统一管理和下发,以Tomcat为例,展示了从创建ConfigMap到挂载配置到Pod的步骤,强调了ConfigMap在多节点配置一致性中的作用。当配置更新时,由于不支持热更新,需要通过删除并重新创建Deployment来应用变更。
摘要由CSDN通过智能技术生成

1.在生成环境中,相同集群的应用配置是一样的,如果要修改其中一个配置,就需要修改所有节点的配置,.
K8S中通过ConfigMap可以统一下发变量和配置文件.

以tomcat为例,先在pod中安装tomcat:

[root@centos-7c556897c8-pxj9b /]# yum install tomcat

安装完成之后配置文件在:

[root@centos-7c556897c8-pxj9b tomcat]# pwd
/etc/tomcat
[root@centos-7c556897c8-pxj9b tomcat]# ll
total 216
drwxrwxr-x 3 root tomcat     23 Jan 27 09:15 Catalina
-rw-r--r-- 1 root tomcat  13443 Aug  7  2017 catalina.policy
-rw-r--r-- 1 root tomcat   6496 Aug  7  2017 catalina.properties
drwxr-xr-x 2 root tomcat     20 Jan 27 09:15 conf.d
-rw-r--r-- 1 root tomcat   1394 Aug  7  2017 context.xml
-rw-r--r-- 1 root tomcat    547 Aug  7  2017 log4j.properties
-rw-r--r-- 1 root tomcat   3288 Aug  7  2017 logging.properties
-rw-r--r-- 1 root tomcat   6613 Aug  7  2017 server.xml
-rw-r----- 1 root tomcat   2418 Aug  7  2017 tomcat-users.xml
-rw-r--r-- 1 root tomcat   1651 Aug  7  2017 tomcat.conf
-rw-r--r-- 1 root tomcat 167655 Aug  7  2017 web.xml

下面我们对log4j.properties和server.xml进行统一配置.

先将pod保存成镜像.
1.找到pod所在的节点:

[root@node-1 ~]# kubectl get pod -o wide
NAME                      READY   STATUS    RESTARTS   AGE     IP             NODE     NOMINATED NODE   READINESS GATES
centos-7c556897c8-pxj9b   1/1     Running   0          4d23h   192.168.1.43   node-2   <none>           <none>

2.进入节点进行镜像保存

[root@node-2 ~]# docker ps
CONTAINER ID        IMAGE                                               COMMAND                  CREATED             STATUS              PORTS               NAMES
cfe0858884de        22872cc86f9c                                        "/bin/bash -c -- 'wh鈥   5 days ago          Up 5 days                               k8s_centos_centos-7c556897c8-pxj9b_default_1db8f14a-3900-4826-beab-10b1f170c240_0
a7eaf04cdd29        registry.aliyuncs.com/google_containers/pause:3.1   "/pause"                 5 days ago          Up 5 days                               k8s_POD_centos-7c556897c8-pxj9b_default_1db8f14a-3900-4826-beab-10b1f170c240_0
1f21ee9bada9        ff281650a721                                        "/opt/bin/flanneld -鈥   5 days ago          Up 5 days                               k8s_kube-flannel_kube-flannel-ds-amd64-ngv5r_kube-system_0af8bd3f-2ede-4d7e-973f-babfb621d32d_7
896928f1e17d        c21b0c7400f9                                        "/usr/local/bin/kube鈥   5 days ago          Up 5 days                               k8s_kube-proxy_kube-proxy-mt2xz_kube-system_7298b76b-ecfb-459f-adc0-8d8e0647d0ec_6
0ecb8fdd8d05        registry.aliyuncs.com/google_containers/pause:3.1   "/pause"                 5 days ago          Up 5 days                               k8s_POD_kube-flannel-ds-amd64-ngv5r_kube-system_0af8bd3f-2ede-4d7e-973f-babfb621d32d_7
665a883cbf77        registry.aliyuncs.com/google_containers/pause:3.1   "/pause"                 5 days ago          Up 5 days                               k8s_POD_kube-proxy-mt2xz_kube-system_7298b76b-ecfb-459f-adc0-8d8e0647d0ec_7
[root@node-2 ~]# docker commit --author "dingyz" --
--author       --change       --help         --message      --pause=false  
[root@node-2 ~]# docker commit --author "dingyz" --message "centos7.4-tomcat" cfe0858884de centos:7.4-tomcat
sha256:4a8deb9c9d407ae7f8589a14d468a8f856e098ba80f1487d49b5daa645cb5280
[root@node-2 ~]# docker images
REPOSITORY                                            TAG                        IMAGE ID            CREATED             SIZE
centos                                                7.4-tomcat                 4a8deb9c9d40        11 seconds ago      434MB
centos                                                centos7.4.1708.net-tools   22872cc86f9c        5 days ago          236MB
registry.cn-hangzhou.aliyuncs.com/dingyz/centos       7.4.net-tools              22872cc86f9c        5 days ago          236MB
centos                                                latest                     470671670cac        9 days ago          237MB
nginx                                                 latest                     c7460dfcab50        2 weeks ago         126MB
mysql                                                 5.7                        db39680b63ac        4 weeks ago         437MB
mysql                                                 latest                     ed1ffcb5eff3        4 weeks ago         456MB
registry.aliyuncs.com/google_containers/kube-proxy    v1.16.0                    c21b0c7400f9        4 months ago        86.1MB
registry.aliyuncs.com/google_containers/coredns       1.6.2                      bf261d157914        5 months ago        44.1MB
centos                                                centos7.4.1708             9f266d35e02c        10 months ago       197MB
registry.cn-hangzhou.aliyuncs.com/dingyz/centos       7.4.base                   9f266d35e02c        10 months ago       197MB
registry.cn-hangzhou.aliyuncs.com/userdefine/centos   7.4.base                   9f266d35e02c        10 months ago       197MB
quay-mirror.qiniu.com/coreos/flannel                  v0.11.0-amd64              ff281650a721        12 months ago       52.6MB
registry.aliyuncs.com/google_containers/pause         3.1                        da86e6ba6ca1        2 years ago         742kB
kubeguide/tomcat-app                                  v1                         a29e200a18e9        3 years ago         358MB
nginx                                                 1.7.9                      84581e99d807        5 years ago         91.7MB
[root@node-2 ~]#

可以将镜像导出到其他节点,获取上传到云仓库,让其他节点也可以进行部署.

[root@node-2 ~]# docker save  -o ./centos7.4-tomcat.tar centos:7.4-tomcat 
[root@node-2 ~]# 
[root@node-2 ~]# ls
anaconda-ks.cfg  centos7.4-tomcat.tar  Desktop  Documents  Downloads  initial-setup-ks.cfg  logstash-7.4.2.tar.gz  metricbeat-7.4.2-linux-x86_64.tar.gz  Music  Pictures  Public  Templates  Videos
[root@node-2 ~]# scp centos7.4-tomcat.tar root@10.46.235.205:/root

[root@node-3 ~]# ls
anaconda-ks.cfg  centos7.4-tomcat.tar  Desktop  Dockerfile  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值