Ansible入门篇(十):集群hosts自动化配置

本文详细介绍如何使用Ansible自动化工具来配置集群内的hosts文件,包括编写hosts文件、参数配置、执行文件及分发更新的hosts.j2模板到各节点的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

集群之间很多信息是通过主机名进行访问,因此配置自动化配置/etc/hosts就显得尤为关键,注意配置/etc/hosts要在集群自动化安装之前进行。

编写主机hosts

编辑/opt/ansible/hosts文件添加集群所有机器IP

[all]
172.18.18.120 
172.18.18.121 
172.18.18.122 

 

编写参数配置main.yml

编辑/opt/ansible/roles/vars/main.yml文件,添加变量 

AnsibleDir: /home/llh/ansible

 

编写执行文件init.yml 

编辑新建/opt/ansible/yml/init.yml文件,添加内容如下: 

- hosts: all
  remote_user: root
  roles:
  - roles

  tasks:
    - name: add localhost4
      local_action: shell echo "127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4" > {{AnsibleDir}}/roles/templates/hosts.j2
      run_once: true
    - name: add localhost6
      local_action: shell echo "::1         localhost localhost.localdomain localhost6 localhost6.localdomain6" >> {{AnsibleDir}}/roles/templates/hosts.j2
      run_once: true
    - set_fact: ipaddress={{hostvars[inventory_hostname].ansible_default_ipv4.address}}  #获取各个节点IP地址并设置成变量
    - set_fact: hostname={{hostvars[inventory_hostname].ansible_facts.hostname}}  #获取各个节点主机名并设置成变量
    - name: add host record #添加所有ipaddress hostname追加到本机
      local_action: shell echo {{ipaddress}} {{hostname}} >> {{AnsibleDir}}/roles/templates/hosts.j2
    - name: copy hosts.j2 to all #将新的hosts.j2分发到各个节点上
      template: src={{AnsibleDir}}/roles/templates/hosts.j2 dest=/tmp/hosts

 

执行HOSTS安装部署 

ansible-playbook -i hosts  yml/init.yml  

 

文章目录:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值