自动部署工作流程与注意点

1 概述

在DevOp中,有大量的自动化部署工作。引入自动化流程,可以减少人工错误,提高工作效率,方便在不同环境中实现快速部署。

2 简要思路

2.1 准备工作

准备如下3个目录:

./template      #各种服务的缺省配置、模版、yaml文件等。

./conf             #实际环境用到的端口、IP等配置文件

./target           #放置最终生成的配置文件

注意:

1、模板文件要有典型配置,最好不要再去修改,以免影响target文件生成时候的操作。

2、要熟练使用到crudini和sed两个工具:

2.2 流程概况

1、使用crud工具读取conf文件,得到各种变量;

2、把模板文件copy到target目录,根据得到的变量,使用sed去修改文件。

3、最后使用更新好target文件去创建各种服务。

具体操作:

my.conf示意文件如下,每个变量注释写明确一些,因为这个文件可能是交给别人去阅读和修改

# 所有变量写在这个配置文件中

[CUSTOM]

# 宿主机的网卡名
# 有些虚拟机是类似ens33
# 有些类似eth0
host_if_name                    =eth0

# 数据库IP
mysql_ip                        =176.16.200.37

# 数据库业务端口
mysql_port                      =13916

# 网络存储NFS的IP地址
nfs_ip                          =172.16.200.30


[K8S]

# NodePort起始端口
node_port_start                 =1

# NodePort结束端口,不大于65535
node_port_end                   =65535

# Containerd持久化数据的存储路径
containerd_path                 =/var/lib/containerd

[HSM]

# 密码机IP地址
hsm_ip                          =172.16.200.10

# 密码机服务端口
# 缺省情况下,服务器密码机的服务端口是6667
# 云密码机的服务端口是6666
hsm_port                        =6666

举例,使用crudini在上述文件中得到数据库IP的操作如下:

[root@others liu.bo]# mysql_ip=$(crudini --get my.conf CUSTOM mysql_ip)
[root@others liu.bo]# echo $mysql_ip
176.16.200.37

注意:如果没有crudini, yum install crudini -y 安装上即可。

猜你喜欢

转载自blog.csdn.net/aligeter/article/details/131377337