1.习题一
在真实主机内有书写以下文件:
[root@foundation40 html] cat hwreport.empty
///
HOST=inventory_in_MB
MEMORY=memory_in_MB
BIOS=BIOS_version
DISK_SIZE_VDA=disk_vda_size
DISK_SIZE_VDB=disk_vdb_size
真机里面的发布路径
要求:
1、创建名为 /home/devops/ansible/hwreport.yml的文件;
2、编写hwreport.yml文件,让被控端的主机下载真机发布路径的hwreport.empty文件到/mnt/hwreport.txt;
3、在被控制端的主机对/mnt/hwreport.txt文件的里面的HOST,MEMORY,BIOS版本(基本输入输出系统),磁盘DISK_SIZE_VDA的大小,DISK_SIZE_VDB的大小进行更改,使其为宿主机的真实数据。
1、查看get_url 下载模块
url: 下载文件的地址
dest: 下载保存的路径
mode: 下载之后的权限
checksum: 下载时进行验证
查看远程主机的一些基本信息
编写yml文件
/
- name: get hwreport
hosts: westos
tasks:
- name: get file
get_url:
url: http://172.25.254.70/hwreport.empty
dest: /mnt/hwreport.txt
- name: coonfigure hardware
lineinfile:
path: /mnt/hwreport.txt
regexp: "{{ item.name }}" 替换的行
line: "{{ item.name}}={{item.value}}" 替换的内容
loop: 加入循环,对变量和内容进行定义
- name: HOST
value: "{{ansible_facts['fqdn']}}"
- name: MEMORY
value: "{{ansible_facts['memtotal_mb']}}MB"
- name: BIOS
value: "{{ansible_facts['bios_version']}}"
- name: DISK_SIZE_VDA
value: "{{ansible_facts['devices']['vda']['size'] | default('NONE')}}"
- name: DISK_SIZE_VDB
value: "{{ansible_facts['devices']['vdb']['size'] | default('NONE')}}"
/
执行playbook
查看node主机/mnt/hwreport.txt文件,可以看到成功改变其内容为各自宿主机的数据
2.习题二
编辑/home/devops/ansible/inventory清单文件
显示主机列表
编辑/home/devops/ansible/issue.yml文件
执行playbook
查看node主机/etc/issue文件,可以看到成功替换为指定文本