《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令
2016-12-23
读这本《Ansible权威指南》学习ansible,根据本书内容和网上的各种文档,以及经过自己测试,写出以下笔记。另,这本书内容很好,但印刷错误比较多,作者说第二版会改进,还没买的小伙伴们可以买第二版。
一、安装
1、安装要求:
控制服务器:需要安装Python2.6/2.7
被管理服务器:需要安装Python2.4 以上版本,若低于Python2.5 需要安装pythonsimplejson;若启用了selinux,则需要安装libselinux-python
2、yum安装
yum install ansible -y
安装方式很多,个人推荐使用epel源安装,epel源安装方式不再赘述。截至目前,epel源安装的是2.2版。
3、简单配置
vim /etc/ansible/ansible.cfg 默认配置文件,读取配置文件的顺序是当前目录——当前用户家目录——/etc/ansible/ansible.cfg(该顺序未验证,建议在统一的地方配置,以免混乱)
#remote_user = root 默认使用的远程连接用户
vim /etc/ansible/hosts Inventory文件的默认位置,指定所要管理的主机安装
二、ssh密钥登陆
ansilbe采用ssh的方式管理节点,为了方便管理,使用密钥方式面密码登陆被管理节点。
1、生成rsa格式密钥
ssh-keygen -t rsa
2、把公钥写入到远端主机的~/.ssh/authorized_keys
ssh-copy-id username@192.168.1.50
3、管理机设置默认远程用户
vim /etc/ansible/ansible.cfg
remote_user = username
三、ansible命令
1、ansible 临时的一次性操作
Usage: ansible <host-pattern> [options]
host-pattern可以是域名,IP,也可以在/etc/ansible/hosts指定
options
-m 后接模块
-a 后接模块参数
-u 指定用户名
-f 启动的并发线程数
例:
ansible all -m ping
ansible all -m copy -a "src=/etc/fstab dest=/tmp/fatab owner=root group=root mode=644 backup=yes"
报错:
The authenticity of host '[192.168.99.43]:22051 ([192.168.99.43]:22)' can't be established.
RSA key fingerprint is 5e:9d:5c:4c:e8:cd:6e:78:70:a2:04:1c:5f:6f:3a:1e.
Are you sure you want to continue connecting (yes/no)? The authenticity of host '[192.168.99.248]:22051 ([192.168.99.248]:22)' can't be established.
RSA key fingerprint is 64:d9:ef:67:6a:d5:37:ff:70:2f:06:d2:35:d1:6b:a2.
Are you sure you want to continue connecting (yes/no)? The authenticity of host '[192.168.99.247]:22051 ([192.168.99.247]:22)' can't be established.
解决方法:
sed -i 's/^#host_key_checking = False/host_key_checking = False/' /etc/ansible/ansible.cfg
2、ansible-doc 查看模块文档
Usage: ansible-doc [options] [module...]
Options:
-h, --help show this help message and exit
-l, --list List available modules
-M MODULE_PATH, --module-path=MODULE_PATH
specify path(s) to module library (default=None)
-s, --snippet Show playbook snippet for specified module(s)
-v, --verbose verbose mode (-vvv for more, -vvvv to enable
connection debugging)
--version show program's version number and exit
ansible-doc 模块名 模块说明
ansible-doc -s 模块名 简要说明
ansible-doc -l 报错:
[DEPRECATION WARNING]: docker is kept for backwards compatibility but usage is discouraged. The module documentation details page may explain more about this rationale..
This feature will be removed in
a future release. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
[ERROR]: unable to parse /usr/lib/python2.6/site-packages/ansible/modules/extras/cloud/misc/rhevm.py
ERROR! module rhevm has a documentation error formatting or is missing documentation
解决方法:
sed -i 's/^#deprecation_warnings = True/deprecation_warnings = False/' /etc/ansible/ansible.cfg
rm -f /usr/lib/python2.6/site-packages/ansible/modules/extras/cloud/misc/rhevm.py
3、ansible-playbook 读取事先写好的playbook,可以理解为按一定条件组成的ansible任务集
Usage: ansible-playbook playbook.yml
4、ansible-galaxy 上传下载Roles,Roles地址https://galaxy.ansible.com/
Usage: ansible-galaxy [delete|import|info|init|install|list|login|remove|search|setup] [--help] [options] ...
5、ansible-pull pull模式(ansible默认push模式),用于数量巨大的机器配置,以及没有网络连接的主机上运行ansible。
Usage: ansible-pull -U <repository> [options]
-U URL of the playbook repository
6、ansible-vault 用于配置文件加密
ansible-vault [create|decrypt|edit|encrypt|rekey|view] [--help] [options] vaultfile.yml
例:
ansible-vault encrypt a.yml 加密并设置解密密码,加密后打开为乱码
ansible-vault decrypt a.yml 解密
7、ansible-console 进入类似于shell的交互模式
《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令的更多相关文章
- 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块
五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options] -v,--verbose ...
- Struts2权威指南笔记
Struts2权威指南笔记 1.mvc特点包括: ① 多个视图可以对应一个模型 ② 模型返回的数据与显示逻辑分离 ③ 应用层被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性 ④ 控制层的概念也 ...
- 多个网站使用不同的SSH密钥登陆(zz)
多个网站使用不同的SSH密钥登陆 1.创建不同的SSH密钥, -t指定加密方法,RSA或DSA:-C注释:-f指定文件名 www.2cto.com ssh-keygen -t dsa -C ...
- 《Ansible权威指南》笔记(2)——Inventory配置
四.Inventory配置ansible通过Inventory来定义主机和组,使用时通过-i指定读取,默认/etc/ansible/hosts.可以存在多个Inventory,支持动态生成.1.定义主 ...
- lesson - 1 笔记 网络连接 /putty 密钥登陆
---笔记 一.网络连接配置 1. 查看电脑ip 地址: ifconfig -a 2. 自动获取ip 地址: dhclient 默认BOOTPROTO=dhcp 和真机同一网段 3. 手动配置 ...
- 2019/12.09centos安装 | 无密钥登陆
centos配置 1.安装位置选择(我要配置分区) →完成 2.添加新挂载点:/boot 400M /swap 4GB / 期望容量空 3.设置root密码:字母+数字 4.重启 5.点击编辑,NA ...
- 一键SSH连接 = SSH密钥登陆 + WindowsTerminal
本文记录如何利用SSH密钥登录和WindowsTerminal/FluentTerminal实现一键SSH连接 目录 一.在本地生成SSH密钥对 二.在远程主机安装公钥 三.在远程主机打开密钥登陆功能 ...
- Ansible权威指南-读书笔记
2 Ansible基础元素介绍 2.1 ansible 目录结构介绍 2.2 ansible 配置文件解析 配置文件解析顺序:当前命令执行目录-->用户家目录下的.ansible.cfg--&g ...
- 《Ansible权威指南》笔记(4)——Playbook
七.Playbook1.语法特性如下:(1)"---"首行顶格开始(2)#号注释(3)缩进统一,不同的缩进代表不同的级别,缩进要对齐,空格和tab不能混用(4)区别大小写,键值对k ...
随机推荐
- Vue2.0用components替换render报错
怀疑是webpack配置的问题,改了一下午也没弄好.去群里问了一轮,也没个解决的. 在研究的过程中,发现了一篇好的讨论帖,看这个帖子能学到不少东西.暂时放弃这个问题的研究了,太费时间,要深入学习编译原 ...
- iOS中数据库应用基础
iOS 数据库入门 一.数据库简介 1.什么是数据库? 数据库(Database) 是按照数据结构来组织,存储和管理数据的仓库 数据库可以分为2大种类 关系型数据库(主流) PC端 Oracle My ...
- C#设计模式-中介者模式
在现实生活中,有很多中介者模式的身影,例如QQ游戏平台,聊天室.QQ群和短信平台,这些都是中介者模式在现实生活中的应用,下面就具体分享下我对中介者模式的理解. 一. 中介者(Mediator)模式 从 ...
- SQL Server 游标运用:鼠标轨迹字符串分割
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 游标模板(Cursor Template) 鼠标轨迹字符串分割SQL脚本实现(SQL Code ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(7)-MVC与EasyUI DataGrid
系列目录 本节知识点 为了符合后面更新后的重构系统,文章于2016-11-1日重写 EasyUI读取MVC后台Json数据 开始实现 我们的系统似乎越来越有趣了 首先从前端入手,开打View下面的Sh ...
- DotNet 资源大全中文版(Awesome最新版)
Awesome系列的.Net资源整理.awesome-dotnet是由quozd发起和维护.内容包括:编译器.压缩.应用框架.应用模板.加密.数据库.反编译.IDE.日志.风格指南等. 算法与数据结构 ...
- C#:解决WCF中服务引用 自动生成代码不全的问题。
问题描述: 如下图:打叉的部分是引用不成功的部分 ,在web.config文件中没有自动添加其引用代码. 英文解释 在服务引用选择自己的项目的程序集就行了,如下图: 特别注意:这些程序集一定要在自己的 ...
- javascript性能优化:创建javascript无阻塞脚本
javaScript 在浏览器中的运行性能,在web2.0时代显得尤为重要,成千上万行javaScript代码无疑会成为性能杀手, 在较低版本的浏览器执行JavaScript代码的时候,由于浏览器只使 ...
- ASP.NET Core 中间件Diagnostics使用
ASP.NET Core 中间件(Middleware)Diagnostics使用.对于中间件的介绍可以查看之前的文章ASP.NET Core 开发-中间件(Middleware). Diagnost ...
- WinForm拖动没有标题栏窗体的方法
建立窗体的名称修改为:Form_HoverTree 文后附有源码下载. 主要代码: Point _HoverTreePosition; public Form_HoverTree() { Initia ...