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
  • 相关阅读:
    LevelDB安装配置
    Enumerable.Intersect方法来生成2个序列的交集
    .Net 分页功能实现
    Canvas统计图表(多边形,蜘蛛网,渐变色)
    存储格式与压缩算法
    Hive数仓构建及数据倾斜
    团队沟通
    git错误:OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
    linux搭建gitlab服务器
    2018牛客网暑期ACM多校训练营第一场
  • 原文地址:https://www.cnblogs.com/db2zos/p/ansible_1.html
Copyright © 2011-2022 走看看