《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 [email protected]
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的交互模式

时间: 2024-12-25 18:55:36

《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令的相关文章

《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块

五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options]    -v,--verbose  输出执行过程信息verbose mode (-vvv for more, -vvvv to enable connection debugging)    -i INVENTORY, --inventory-file=INVENTORY    指定inventory信息,(default=/etc/ansi

Struts2权威指南笔记

1.mvc特点包括: ① 多个视图可以对应一个模型 ② 模型返回的数据与显示逻辑分离 ③ 应用层被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性 ④ 控制层的概念也很有效,由于它把不通的模型和不同的视图组合在一起,完成不同的请求 ⑤ Mvc更符合软件工程化管理的精神 2.Struts2框架的大致处理流程: ① 浏览器发送请求,如请求/mypage.action ② 核心控制器FilterDispatcher根据请求决定调用合适的Action ③ Webwork的拦截器链自动对请求应用通用

css 权威指南笔记

部分属性选择: 选择class 属性中包含warning的元素 [class~="warning"]{font-weight:bold} 子串匹配属性选择器: 在现代浏览器中得到支持 包括ie7 特定属性选择器: css 权威指南笔记

MAC SSH密钥登陆

MAC SSH密钥登陆: 一般mac如果想通过ssh密钥登陆,常规的做法,自己生成密钥对,这样做的好处就是,自己只保留私钥即可,公钥 可以放置任意服务器, 如果接受别人给的私钥,只能存一个,如果有多个私钥给你,就不方便管理,所以建议自己生成密钥对,公钥上传服务器,具体步骤如下: 1.通过mac终端,ssh-keygen -t rsa -C"[email protected]"生成密钥对,公钥上传到服务器对应用户的.ssh/authorized_keys 2.本地可通过ssh  [ema

多个网站使用不同的SSH密钥登陆(zz)

多个网站使用不同的SSH密钥登陆 1.创建不同的SSH密钥, -t指定加密方法,RSA或DSA:-C注释:-f指定文件名 www.2cto.com ssh-keygen -t dsa -C "email.xxx" -f ~/.ssh/xxx 以上命令在~/.ssh/下生成xxx密钥对 2.编辑 ~/.ssh/config  文件,配置格式示例: Host github.com www.github.com IdentityFile ~/.ssh/code_github Host bit

《Ansible权威指南》笔记(2)——Inventory配置

四.Inventory配置ansible通过Inventory来定义主机和组,使用时通过-i指定读取,默认/etc/ansible/hosts.可以存在多个Inventory,支持动态生成.1.定义主机和组# vim /etc/ansible/hosts192.168.12.22    #可以直接为IP地址nfs.magedu.com    #可以是域名ntp.magedu.com:2200    #可以:接ssh端口 [webserver]    #[]内为分组名,下面都是该组组员web[1:

JavaScript权威指南笔记——第1部分

# <JavaScript权威指南>笔记--第1部分 说明: 印刷版:2012年4月第1版 2016年9月第17次印刷. 本书的风格和<Effective Java>很类似,推荐一下. 该笔记逆序记录的. ----------------------- ------<end>------ | node的helloworld程序: ```js //! program.js // 通过在命令行输入`node program.js`来运行,然后在浏览器中打开网址`127.0.

配置Centos7 SSH密钥登陆及密码密钥双重验证

一.首先登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录,以下我以root为例,命令:su rootcd ~ 二.创建钥匙,命令:ssh-keygen -t rsa,一路按Y搞定 三.按照流程走完后会在 ~/.ssh目录下(用户所在家目录下的.ssh目录)看到id_rsa, id_rsa.pub文件 第一个是私有密钥 第二个是公共密钥 四.修改SSH配置文件,命令:vim /etc/ssh/sshd_config #禁用root账户登录,如果是用root用户登录请开启Perm

CentOS SSH密钥登陆改为密码登陆 (Conoha)

1.检查安装系统时是否已经安装SSH服务端软件包:   rpm -qa|grep openssh 若显示结果中包含openssh-server-*,则说明已经安装,直接启动   sshd服务就可以了(service sshd start).(其中*的内容是该包的版本,一般为3.5p1-6) 2.netstat -a | more看有没正常启动 如果出现: tcp   0      0 *:ssh         *:*         LISTEN 就说明正常启动了 vi /etc/ssh/ss