ansible使用说明

发布于:2024-11-29 ⋅ 阅读:(9) ⋅ 点赞:(0)

将安装包拷贝到主控端主机

在主控端主机安装ansible,sh setup.sh

确认安装成功后,编辑hosts文件(按步骤逐个添加主机组,不要一开始全部配置好)

[site-init]下的主机列表为被控制的主机(按照当前ai建模方案,即为mongo集群和服务以及中间件模块所在的主机)

在roles目录下,执行

ansible-playbook site.yml  -i /opt/offline_install/ai_model_ansible/host

可完成秘钥分发

安装基础组件docker,先定义一个主机组如[python-docker-server],然后编辑docker-ce下的vars变量

如图为设置docker安装路径和docker数据路径以及创建docker net和网段

创建一个yml文件,例如install_docker.yml

其中hosts即为hosts文件中的主机组,role为tasks所在的文件夹名

执行ansible-playbook  install_docker_ce.yml  -i /opt/offline_install/ai_model_ansible/host

等待执行完毕后,主机组中所有主机均以安装docker

同理可安装完python3和对应python docker模块(必须安装)

开始部署中间件,以nginx为例

在nginx的vars中,设置镜像版本,容器名,要映射端口的变量名和端口值

在hosts文件中定义如下主机组,要加上python路径(路径为安装python时定义的,一般不用改)

安装步骤如下

从files文件中复制nginx镜像到各个主机,然后倒入镜像,然后从templates中拷贝配置模板文件到指定位置,最后创建容器

其中templates可使用变量和jinjia2语法来动态生成配置文件

  1. 部署应用服务的步骤

由于当前镜像无法支持导入整个配置文件作为启动参数,所以在获取镜像前需要提前知道部署环境的服务器信息,生成一个专属的配置文件(改过程可以由开发负责人完成),将生成的镜像拷贝到files目录下即可

  1. 其他说明

groups中的变量,创建一个和主机组同名的文件,改文件里的变量可以被使用改主机组的task引用

Groups中的all文件中的变量,可以被所有主机引用

Vars中定义的变量优先级高于groups,以此类推,离使用变量名越近的定义优先级越高

当前spark集群的安装不包含在改脚本内