ansible入门
1、简介
Ansible是一个自动化统一配置管理工具,自动化主要体现在Ansible集成了丰富模块以及功能组件,可以通过一个命令完成一系列的操作,进而能减少重复性的工作和维护成本,可以提高工作效率。
2、组成
1.连接插件connection plugins用于连接主机 用来连接被管理端
2.核心模块core modules连接主机实现操作, 它依赖于具体的模块来做具体的事情
3.自定义模块custom modules根据自己的需求编写具体的模块
4.插件plugins完成模块功能的补充
5.剧本playbookansible的配置文件,将多个任务定义在剧本中,由ansible自动执行
6.主机清单inventor定义ansible需要操作主机的范围
3最重要的一点是 ansible是模块化的 它所有的操作都依赖于模块
3、执行流程
1.Ansible读取playbook剧本,剧本中会记录对哪些主机执行哪些任务。 #web 安装nginx
2.首先Ansible通过主机清单找到要执行的主机,然后调用具体的模块。 #web 是谁
3.其次Ansible会通过连接插件连接对应的主机并推送对应的任务列表。 #使用yum模块安装nginx
4.最后被管理的主机会将Ansible发送过来的任务解析为本地Shell命令执行。 #受控端执行yum install -y nginx
二、ansible的使用
环境准备
192.168.0.220 控制端 centos7.6
192.168.0.221 客户端 centos7.6
192.168.0.222 客户端 centos7.6
192.168.0.223 客户端 centos7.6
安装Ansible [root@m01 ~]# yum install -y ansible
#查看ansible版本
[root@localhost ~]# ansible --version
ansible配置文件
/etc/ansible/ansible.cfg ##配置文件
/etc/ansible/hosts ##主机配置清单
查看配置文件
[root@localhost ansible]# cat /etc/ansible/ansible.cfg
#inventory = /etc/ansible/hosts #主机列表配置文件
#library = /usr/share/my_modules/ #库文件存放目录
#remote_tmp = ~/.ansible/tmp #临时py文件存放在远程主机目录
#local_tmp = ~/.ansible/tmp #本机的临时执行目录
#forks = 5 #默认并发数
#sudo_user = root #默认sudo用户
#ask_sudo_pass = True #每次执行是否询问sudo的ssh密码
#ask_pass = True #每次执行是否询问ssh密码
#remote_port = 22 #远程主机端口
host_key_checking = False #跳过检查主机指纹
log_path = /var/log/ansible.log #ansible日志
#普通用户提权操作
[privilege_escalation]
#become=True
#become_method=sudo
#become_user=root
#become_ask_pass=False
主机管理配置清单
基于密码配置模式
[root@localhost ansible]# vim /etc/ansible/hosts
192.168.0.220 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass='1'
基于秘钥的方式
生成密钥对
[root@localhost ~]# ssh-keygen
推送公钥
[root@localhost ~]# ssh-copy-id 192.168.0.221
然后配置hosts主机清单即可
测试
[root@localhost ansible]# ansible k8s -m ping
标签:Ansible,主机,更新,ansible,ssh,模块,root,安装 From: https://www.cnblogs.com/QIzhu/p/16791348.html