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

 

原文地址:http://www.cnblogs.com/QIzhu/p/16791348.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性