【第十五天】
ansible
主配置文件-----/etc/ansible/ansible.cfg(配置文件存在优先级:当前目录下>用户家目录下>etc目录内)修改以下四个变量:
inventory = /home/xxx/ansible/inventory
roles_path = /home/xxx/ansible/roles
host_key_checking = False
remote_user = root
ansible基于ssh设计,不涉及c/s架构。通过ssh控制受控节点,下发任务
为此,诞生出一个概念----inventory(主机清单)
vim inventory
[分组]
xxx.xxx.xxx.xxx----组成员ip
[分组:子分组]
子分组name-------------定义组包含关系
[all:vars]----定义全局变量
ansible_user=root
ansible_password=xxxx
ansbile-doc -l -----------------列举所有支持的模块
ansible-doc yum_repository
执行结果
绿色:执行成功
黄色:执行成功并修改成功
红色:执行失败
紫色:ignore
--------------------playbook剧本---------------
ansible使用py研发
playbook使用yaml语言调用ansbile模块-----具有强格式要求
名称以 .yml 结尾
格式:
— 三减号开始
- name: xxx playbook的名称
- hosts: all 目标主机
- tasks: 任务
- name: one 任务名称
yum: 任务使用的模块
xxx 模块参数
xxx 模块参数
- name: one 任务名称
命令:ansible-galaxy list---------查看角色
来源:
1、系统自带的角色 dnf -y install rhel-system-roles 保存在 /usr/share/ansible/roles 模板在:/usr/share/doc/rhel-system-roles
2、自己创建roles ansible-roles init roles-name
3、外部社区获取
- src: http://xxxx
name: names - src: htpp://xxx
name: names
ansible-galaxy install -r roles/requirements.yml----------------- -r代表指定导入文件
ansible-galaxy install -r requirements.yml-----------在roles目录下再做一遍
----------------jinjia技术—template模板-------------------
通过变量定义,在复制过程中替换变量为目标常量
vim xxxx.j2
you are in {{ ansible_fqdn }} on {{ ansible_default_ipv4.address }}
查找并收集所需变量:ansible all -m setup -a ‘filter=“fqdn”’



