设为首页 收藏本站
查看: 1112|回复: 0

[经验分享] ansible基础使用

[复制链接]

尚未签到

发表于 2018-7-30 06:47:42 | 显示全部楼层 |阅读模式
  ansible的安装
  Ansible
  —基于 Python paramiko开发,分布式,无需客户端,轻量级,配置语法使用 YMAL 及 Jinja2模板语言,更强的远程命令执行操作。
  类似的自动化运维工具有很多常用的还有:
  Puppet:
  —基于 Ruby 开发,采用 C/S架构,扩展性强,基于SSL,远程命令执行相对较弱.
  SaltStack:
  —基于 Python 开发,采用 C/S 架构,相对 puppet 更轻量级,配置语法使用 YMAL,使得配置脚本更简单。
  Ansible 工作机制
  Ansible 在管理节点将 Ansible 模块通过 SSH 协议(或者 Kerberos、LDAP)推送到被管理端执行,执行完之后自动删除,可以使用 SVN 等来管理自定义模块及编排。
DSC0000.jpg

  由上面的图可以看到 Ansible 的核心组件组成由 5 个部分组成:
  Ansible core:            核心;
  core Modules:          包括 Ansible 自带的核心模块及自定义模块;
  connect Plugins:            完成模块功能的补充,包括连接插件、邮件插件等;
  Playbooks:     定义 Ansible 多任务配置文件,由 Ansible 自动执行;
  host Inventory:         定义 Ansible 管理主机的清单、主机池、主机列表;
  yum安装ansible
  yum install ansible (ansible依赖于Python 2.6或更高的版本、paramiko、PyYAML及Jinja2。)
  三台主机:
  192.168.38.3
  192.168.38.4
  192.168.38.5 (安装ansible)
  使用ssh-keygen生成ssh秘钥,通过ssh-copy-id -i root@192.168.38.3 将秘钥传送到另外两台被管理的主机,测试登录被管理主机。
  ansible的参数:
  -u  远程执行命令的user,默认为root。
  -i  指定主机清单,默认为/etc/ansible/hosts。
  -m  指定模块的名称,默认command命令模块。
  -a  模块的具体参数。
  -k 提示输入远程主机的密码。
  vim /etc/ansible/hosts   主机清单配置文件。
  [test]test组有2台机器。
  192.168.38.4
  192.168.38.3
  也可以用":"来定义一系列连续的主机,下面那样写也是ok的。
  [test]
  192.168.38.[3:4]
  [root@192 ansible]# ansible -m ping 'test'          ping模块测试,返回pong,代表ok。
  192.168.38.3 | SUCCESS => {
  "changed": false,
  "ping": "pong"
  }
  192.168.38.4 | SUCCESS => {
  "changed": false,
  "ping": "pong"
  }
  [root@192 ansible]# ansible -m command -a 'uptime' 'test'     -m命令模块,具体执行uptime命令。
  192.168.38.4 | SUCCESS | rc=0 >>
  19:23:51 up  1:02,  2 users,  load average: 0.00, 0.01, 0.05
  192.168.38.3 | SUCCESS | rc=0 >>
  19:23:51 up  1:02,  2 users,  load average: 0.00, 0.02, 0.05
  [root@192 ansible]# ansible -u root -m command -a date 'test'        -u 指定用户。
  192.168.38.3 | SUCCESS | rc=0 >>
  2016年 11月 05日 星期六 19:24:45 CST
  192.168.38.4 | SUCCESS | rc=0 >>
  2016年 11月 05日 星期六 19:24:45 CS
  ansible组的划分定义,2台主机分别属于2个组,但同时又属于一个大组。
  cat /etc/ansible/hosts   test1和test2同属于test组。
  [test:children]
  test1
  test2
  [test1]
  192.168.38.3
  [test2]
  192.168.38.4
  [root@192 ansible]# ansible -a date 'test'
  192.168.38.3 | SUCCESS | rc=0 >>
  2016年 11月 05日 星期六 19:44:25 CST
  192.168.38.4 | SUCCESS | rc=0 >>
  2016年 11月 05日 星期六 19:44:25 CST
  [root@192 ansible]# ansible -a date 'test1'
  192.168.38.3 | SUCCESS | rc=0 >>
  2016年 11月 05日 星期六 19:44:31 CST
  [root@192 ansible]# ansible -a date 'test2'
  192.168.38.4 | SUCCESS | rc=0 >>
  2016年 11月 05日 星期六 19:44:34 CST

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-543219-1-1.html 上篇帖子: 实战:ansible自动化部署nginx+keepalived+mysql负载均衡集群 下篇帖子: yum安装ansible-zenge
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表