自动化运维工具-ansible
1.ansible的安装
我选择的是rpm包安装
下载地址:
链接:https://pan.baidu.com/s/1dqm_QDGjd9oSNS5qEZzD5Q?pwd=34s5
提取码:34s5
下载之后 直接
rpm -ivh sshpass-1.06-2.el7.x86_64.rpm
rpm -ivh ansible-2.9.5-1.el7.ans.noarch.rpm
2.ansible配置修改
vim /etc/ansible/ansible.cfg
加入:
host_key_checking = False
deprecation_warnings = False
3.ansible的简单使用
1).主机组配置
/etc/ansible/hosts 这个文件是配置ansible管理的主机信息的配置规则如下:
[oracledb]
10.129.40.20
10.129.50.[100:220]
主机组[oracledb]
10.129.40.20
10.129.50.[100:220] 这些是主机组中的主机,注意[100:200]意思是100、101、102一直到200
2).ansible 命令行模式介绍
ansible有两种模式 命令行模式和playbook模式
命令好模式格式:
ansible oracledb -m shell -a "ls /home/"
命令行模式用ansible命令运行,oracledb表示主机组信息 -m 后边跟模块名字这里使用shell万能模块,-a 表示在主机组所有主机上执行的命令
这里主要需要掌握的就是-m 后边的模块的使用,ansible有很多模块比如常见的copy,service,file等等,ansible的使用主要就是掌握模块的使用方法。
ansible-doc copy
ansible-doc 命令可以查看模块中可以添加的项目,这些项目可以叫我们更方便的使用模块
3).ansible playbook模式使用
ansible-playbook --check playbook.yaml
上边这个命令主要是去检查playbook.yaml执行过程中会不会遇到问题,而不会真正的执行playbook.yaml
ansible-lint playbook.yaml
上边这条命令主要是检查playbook.yaml语法是否有报错
ansible-playbook playbook.yml -f 10 --become
上边这条命令是执行 playbook.yaml 启动并行,并行度为10,并且--become以root用户权限方式执行
下边介绍一下playbook的语法:
- hosts: oracledb
user: cpcn
tasks: - name: Copy multiple files in Ansible with different permissions copy: src: "{{ item.src }}" dest: "{{ item.dest }}" mode: "{{ item.mode }}" with_items: - { src: '/home/mdtutorials2/test1',dest: '/tmp/devops_system1', mode: '0777'} - { src: '/home/mdtutorials2/test2',dest: '/tmp/devops_system2', mode: '0707'} - { src: '/home/mdtutorials2/test3',dest: '/tmp2/devops_system3', mode: '0575'}
这里- hosts: 表示的上边我们设置的主机组信息
user 表示的是我以什么用户执行这个playbook
tasks: 开启一个任务
后边- name 就是简单起一个名字
copy就是使用copy模块
src、dest、mode 这些都是copy模块中的选项,
with_items: 这下边的东西都是变量,固定格式带入到src、dest、mode中实现批量操作
这里就简单介绍一下playbook的具体形式
4.ansible总结
ansible使用方法和情况有很多很多,以后遇到比较好的例子还会更新,这只是一个引子更详细的信息可以参考
https://docs.ansible.com/
ansible官方文档,可以获得更详细的介绍
标签:src,dest,ansible,mode,模块,简单,安装,playbook From: https://www.cnblogs.com/dbahrz/p/18154603