Ansible自动化部署新hosts文件

Ansible自动化部署新hosts文件

模板文件hosts.j2

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
{%for i in groups.all%}
{{hostvars[i].ansible_default_ipv4.address}} {{hostvars[i].ansible_fqdn}} {{hostvars[i].ansible_hostname}}
{%endfor%}

部署剧本

deploy-hosts.yml

---
- name: deploy new hosts
  hosts: all
  become: true
  tasks:
    - name: begin deploy new hosts
      template:
         src: hosts.j2
         dest: /etc/hosts

执行剧本

ansible-playbook deploy-hosts.yml

验证结果

ansible all -m shell -a "cat /etc/hosts"
192.168.174.145 | CHANGED | rc=0 >>
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.174.142 localhost.localdomain controll
192.168.174.143 localhost.localdomain node1
192.168.174.144 localhost.localdomain node2
192.168.174.145 localhost.localdomain node3
192.168.174.144 | CHANGED | rc=0 >>
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.174.142 localhost.localdomain controll
192.168.174.143 localhost.localdomain node1
192.168.174.144 localhost.localdomain node2
192.168.174.145 localhost.localdomain node3
192.168.174.143 | CHANGED | rc=0 >>
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.174.142 localhost.localdomain controll
192.168.174.143 localhost.localdomain node1
192.168.174.144 localhost.localdomain node2
192.168.174.145 localhost.localdomain node3
192.168.174.142 | CHANGED | rc=0 >>
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.174.142 localhost.localdomain controll
192.168.174.143 localhost.localdomain node1
192.168.174.144 localhost.localdomain node2
192.168.174.145 localhost.localdomain node3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Ansible是一种自动化IT工具,可以自动化部署、管理和配置系统。在使用Ansible自动化部署OpenGAS系统时,您需要以下步骤: 1. 配置目标主机:确保目标主机安装了必要的软件和服务,并且可以从Ansible服务器访问。 2. 创建Ansible playbook:使用YAML编写Ansible playbook文件,定义要执行的任务。 3. 配置Ansible inventory:创建Ansible inventory文件,指定要部署OpenGAS系统的主机。 4. 运行Ansible playbook:使用ansible-playbook命令运行playbook,让Ansible自动化地完成部署和配置工作。 以下是具体步骤: 1. 安装Ansible:使用系统包管理器或从官方网站下载安装Ansible。 2. 配置目标主机:确保目标主机上安装了必要的软件和服务,例如Java、Tomcat、MySQL等,并且可以从Ansible服务器访问。 3. 创建playbook文件:使用YAML编写playbook文件。例如,可以创建一个名为opengas.yml的文件,其中包含以下内容: ``` - name: Deploy and configure OpenGAS hosts: opengas_servers become: yes tasks: - name: Install Java apt: name: openjdk-8-jre-headless state: present - name: Install Tomcat apt: name: tomcat8 state: present - name: Deploy OpenGAS WAR file copy: src: /path/to/opengas.war dest: /var/lib/tomcat8/webapps/opengas.war notify: - restart Tomcat - name: Configure OpenGAS database mysql_db: name: opengas state: present - name: Start Tomcat service service: name: tomcat8 state: started handlers: - name: restart Tomcat service: name: tomcat8 state: restarted ``` 在上面的例子中,我们使用apt模块安装Java和Tomcat,使用copy模块将opengas.war文件复制到Tomcat的webapps目录中,使用mysql_db模块创建MySQL数据库,使用service模块启动Tomcat服务。 4. 配置Ansible inventory:创建一个名为inventory的文件,并指定要部署OpenGAS系统的主机。例如: ``` [opengas_servers] opengas.example.com ``` 5. 运行playbook:使用ansible-playbook命令运行playbook。例如: ``` $ ansible-playbook opengas.yml -i inventory ``` 在运行过程中,Ansible将自动连接到目标主机,并执行定义在playbook文件中的任务。完成后,您可以在浏览器中访问OpenGAS系统。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gswcfl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值