KPL配置文件渲染
一、备注说明
由于内部KPL部署采用Ansible重构。configmap要做成jinjin2格式的模板。然后使用ansible的任务roles去渲染。目前configmap-kpl master分支仍为旧版。develop分支为jinjia2模板。待日本和金山云环境集成好后,合并到master。
二、快速开始
1、在可以执行kubectl的节点上安装ansible软件。此时该节点称为ansible master管控节点,管控节点需要配置好ssh免密
$ apt install ansible #ubuntu系统
$ yum install ansible #centos系统
2、下载configmap配置模板,目前还未合并到master分支,需要下载develop分支,等日本和金山云做好切换后合并到master分支。
$ git clone -b develop https://tingweiwang@gitlab.seetatech.com/tingweiwang/configmap-kpl.git /root/configmap-kpl
$ 修改environments/ksy下的hosts文件,以及group_vars下面的all.yml和kpl.yml。其中hosts将ip地址修改为ansible master节点ip。all.yml和kpl.yml根据自己环境修改。
3、执行渲染脚本
$ bash replace-cfg.sh ksy #其中ksy是environments下的子目录名字。如何特殊名字要求,保持默认
二、任务流程及原理
执行bash replace-cfg.sh ksy脚本后,会调用ansible-playbook任务,也就是同级的replace-configmap.yml该入口yml定义调用roles下面的replace-configmap/task/main.yml中定义的任务。他会用ksy目录下面的group_vars中定义的values来渲染configmap-kpl中的jinjia2模板,渲染后拷贝到/tmp/configmap目录。然后kubectl applf -f /tmp/configmap-kpl下的配置。