zoukankan      html  css  js  c++  java
  • Ansible 学习笔记

    最近因为需要管理很多台机器,而这些机器又需要频繁重新安装,实在受不了Puppet需要在每个客户机上都安装一遍,于是转头开始学些Ansible。根据这段时间的使用,这个确实是神器,唯一的感觉就是相见恨晚。

    下面纪录一下最近的学习心得。

    • Ansible是基于单客户端,多服务器端的模式。这可能是和Puppet等基于单服务器端,多客户端的最大不同。
    • Ansible是用Python编写的,易于扩展,便于调试
    • 下面以最常见的需要客户端和所有服务器建立ssh信任关系为例,看看ansible多么简单。首先建立hostfile添加所有要处理的机器,之后执行下面的命令
    •    ansible all -h hostfile -m authorized_key -a "user=root key='{{ lookup('file', '/home/myname/.ssh/id_rsa.pub') }}' path=/root/.ssh/authorized_keys manage_dir=no" --ask-pass -c paramiko

      这样就可以讲本机上myname这个用户的key添加到了所有机器root的信任列表里了。如果这些机器的root密码不一致,只需要执行多次,每次输入不同密码即可。当然authorized_key还有更多的玩法,不过这个最简单的例子就可以秒杀好多其它工具。

    • 查看和所有机器的互通情况,如果可以以root操作的话,下面的命令就会返回pong来响应
    • ansible all -h hostfile -u root -m ping
    • 查看所有机器的硬件和系统配置情况,会输出非常详细的列表
    • ansible all -h hostfile -u root -m setup
  • 相关阅读:
    最短路详解
    树状数组基础
    并查集初步
    python shell的交互模式和文本编辑模式
    基于python的selenium自动化测试环境搭建
    Nagios基本搭建
    mysql错误代码对照表较完整
    搭建phpMyAdmin
    Cent OS 7 搭建MySQL
    详解封装源码包成RPM包
  • 原文地址:https://www.cnblogs.com/db2zos/p/ansible_1.html
Copyright © 2011-2022 走看看