专栏首页Linux相关ansible安装介绍
原创

ansible安装介绍

环境

CentOS 7.2

Python 2.7.5

查看python版本

[root@ambari1 ~]# python -V
Python 2.7.5

安装ansible

通过Yum安装RPMs适用于EPEL6,7, 以及仍在支持中的Fedora发行版。

托管节点的操作系统版本可以是更早的版本(如 EL5), 但必须安装 Python 2.4 或更高版本的Python。

安装方式一

Fedora 用户可直接安装Ansible,但RHEL或CentOS用户需要配置EPEL[此处使用下面的方式进行配置]:

【备注:】如果安装epel-release无法成功的话,那么说明在/etc/yum.repos.d中的CentOS-Base.repo可能被设置成bak或者其他别的原因

安装epel-release

yum install epel-release -y

安装ansible

yum install ansible -y

查看ansible的版本号

[root@ambari1 yum.repos.d]# ansible --version
ansible 2.7.5
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Nov 20 2015, 02:00:19) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)]

ansible的配置文件介绍

[root@ambari1 yum.repos.d]# cd /etc/ansible/
[root@ambari1 ansible]# ll
总用量 24
-rw-r--r-- 1 root root 20277 12月 14 2018 ansible.cfg   #配置文件
-rw-r--r-- 1 root root  1016 12月 14 2018 hosts         #管控主机的文件
drwxr-xr-x 2 root root     6 12月 14 2018 roles

ansible配置主机清单

ansible通过读取默认主机清单/etc/ansible/hosts文件,修改主机与组配置后,可同时连接到多个被管理主机上执行任务。具体配置如下:

[root@ambari1 ansible]# cat hosts 
# This is the default ansible 'hosts' file.
#
# It should live in /etc/ansible/hosts
#
#   - Comments begin with the '#' character
#   - Blank lines are ignored
#   - Groups of hosts are delimited by [header] elements
#   - You can enter hostnames or ip addresses
#   - A hostname/ip can be a member of multiple groups

# Ex 1: Ungrouped hosts, specify before any group headers.

## green.example.com
## blue.example.com
## 192.168.100.1
## 192.168.100.10

# Ex 2: A collection of hosts belonging to the 'webservers' group

## [webservers]
## alpha.example.org
## beta.example.org
## 192.168.1.100
## 192.168.1.110

# If you have multiple hosts following a pattern you can specify
# them like this:

## www[001:006].example.com

# Ex 3: A collection of database servers in the 'dbservers' group

## [dbservers]
## 
## db01.intranet.mydomain.net
## db02.intranet.mydomain.net
## 10.25.1.56
## 10.25.1.57

# Here's another example of host ranges, this time there are no
# leading 0s:

## db-[99:101]-node.example.com
[master]
192.168.17.221
[agent]
192.168.17.222
192.168.17.223
[root@ambari1 ansible]# 
[root@ambari1 ansible]# clear
[root@ambari1 ansible]# cat hosts 
# This is the default ansible 'hosts' file.
#
# It should live in /etc/ansible/hosts
#
#   - Comments begin with the '#' character
#   - Blank lines are ignored
#   - Groups of hosts are delimited by [header] elements
#   - You can enter hostnames or ip addresses
#   - A hostname/ip can be a member of multiple groups

# Ex 1: Ungrouped hosts, specify before any group headers.

## green.example.com
## blue.example.com
## 192.168.100.1
## 192.168.100.10

# Ex 2: A collection of hosts belonging to the 'webservers' group

## [webservers]
## alpha.example.org
## beta.example.org
## 192.168.1.100
## 192.168.1.110

# If you have multiple hosts following a pattern you can specify
# them like this:

## www[001:006].example.com

# Ex 3: A collection of database servers in the 'dbservers' group

## [dbservers]
## 
## db01.intranet.mydomain.net
## db02.intranet.mydomain.net
## 10.25.1.56
## 10.25.1.57

# Here's another example of host ranges, this time there are no
# leading 0s:

## db-[99:101]-node.example.com
[master]
192.168.17.221
[agent]
192.168.17.222
192.168.17.223

在末尾添加master和agent相关的内容。

设置ssh无密码登录

设置免密码登录

ssh-keygen -t rsa
ssh-copy-id root@192.168.199.130
ssh-copy-id root@192.168.199.131

执行命令

[root@ambari1 .ssh]# ansible all -m ping
The authenticity of host '192.168.17.221 (192.168.17.221)' can't be established.
ECDSA key fingerprint is c5:76:ed:2e:c8:6b:85:25:0b:d7:b4:8f:12:66:72:1f.
Are you sure you want to continue connecting (yes/no)? yes
192.168.17.221 | UNREACHABLE! => {
    "changed": false, 
    "msg": "Failed to connect to the host via ssh: Warning: Permanently added '192.168.17.221' (ECDSA) to the list of known hosts.\r\nPermission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n", 
    "unreachable": true
}
192.168.17.222 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
192.168.17.223 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

成功!

问题解决

从上面我们可以看到,192.168.17.221这一台出现了问题,并不能执行成功,此时可以在/etc/ansible/hosts的基础上添加相关内容如下:

## db-[99:101]-node.example.com
[master]
192.168.17.221 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass=123456
[agent]
192.168.17.222
192.168.17.223

坚壁清野

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • CentOS的tree

    在windows和linux中都有tree命令,这里我们介绍一些CentOS 7中的tree命令。

    孔贼
  • 移动信息安全产业有多少联盟组织?

    我们知道,近年来随着移动互联网的飞速发展,各种各种的联盟组织也如雨后春笋一般,这些联盟组织对行业的发展起到 了非常大的促进作用,今天我们来理一理到底有多少联盟组...

    安智客
  • 这就是iPhone11?嗯…可能还会运行加密货币

    话说前段时间,有个叫@BenGeskin的谍照大人,曝光了一张iPhone 11 和 iPhone 11 Max 的渲染图,后置的三摄非常抢眼。

    区块链大本营
  • Oracle最新的Sql笔试题及答案

    1.编写SQL语句,查询PIM_HEADERS表,符合日期在2011-03-01和2011-03-25之间的PI订单,显示订单号,创建日志,订单客户名称,订单业...

    用户4919348
  • 开源软件和安全是5G的关键

    拉斯维加斯,2016 CTIA Super Mobility conference顺利召开,根据参加会议的高管表示,开源软件和安全将是5G成功的基本要素。 ? ...

    SDNLAB
  • mac用户丢失管理员身份急救

    俺踏月色而来
  • 人工智能开源框架介绍(整理)

    TensorFlow™是一个开源软件库,最初由Google Brain Team的研究人员和工程师开发。(中文社区)

    李小白是一只喵
  • 机器学习算法如何调参?这里有一份神经网络学习速率设置指南

    作者:Jeremy Jordan 机器之心编译 参与:黄小天、许迪 每个机器学习的研究者都会面临调参过程的考验,而在调参过程中,学习速率(learning ra...

    机器之心
  • DIY混合BCI刺激系统:SSVEP-P300 LED刺激

    这篇文章讨论了一种完全可定制芯片版LED设计,该设计可同时激发两个大脑反应(稳态视觉诱发电位--SSVEP和瞬态诱发电位--P300)。考虑到脑机接口(BCI)...

    脑机接口社区
  • [Linux][mm]TLB shootdown和读取smaps对性能的影响 ​

    作者遇到了业务的一个性能抖动问题,在这里介绍一下它的原因和解决办法。 分析 1,page fault 在Linux上,进程分配到的内存是虚拟内存,经过内核...

    皮振伟

扫码关注云+社区

领取腾讯云代金券