千家信息网

Ansible基本说明及安装

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,一.ansible 说明ansible 是一款自动化工具,可以完成配置系统、软件发布、高级任务的编排、编排更高级的任务,比如连续部署或零停机时间滚动更新。二.anisble 安装2.1这里希望通过yu
千家信息网最后更新 2026年10月31日Ansible基本说明及安装

一.ansible 说明

ansible 是一款自动化工具,可以完成配置系统、软件发布、高级任务的编排、编排更高级的任务,比如连续部署或零停机时间滚动更新。


二.anisble 安装

2.1这里希望通过yum方式安装,需要安装EPEL

下载地址:

1https://admin.fedoraproject.org/mirrormanager/mirrors/EPEL


2.2.安装epel:

1rpm -ivh epel-release-latest-7.noarch.rpm

2.3.安装ansible,自动解决依赖关系

1yum install ansible

2.4.安装列表如下:

1ansible、PyYAML、libtomcrypt、libtommath、libyaml、python-babel、python-backports 、python-backports-ssl_match_hostname 、python-httplib2 python-jinja2、python-keyczar、python-markupsafe、python-setuptools、python2-crypto、python2-ecdsa、python2-paramiko、python2-pyasn1、sshpass

2.5.查看ansible版本:

1

2

# rpm -qa | grep ansible

ansible-2.2.0.0-4.el7.noarch

2.6.结构说明

1

2

3

4

5

6

7

8

9

10

/etc/ansible/ansible.cfg #主配置文件

/etc/ansible/hosts #认证主机列表

/etc/ansible/roles #角色配置路径

/usr/bin/ansible #主命令

/usr/bin/ansible-console

/usr/bin/ansible-doc #ansible帮助文档

/usr/bin/ansible-galaxy

/usr/bin/ansible-playbook #playbook命令

/usr/bin/ansible-pull

/usr/bin/ansible-vault


三.ansible 认证及基本使用

3.1.实验环境说明:

172.16.110.39 ansible

172.16.110.47 client1

3.2.anisble基于ssh认证,这里通过添加主机key认证的方式来进行认证。

服务端

#ssh-keygen -t rsa -P ''

#scp /root/.ssh/id_rsa.pub root@172.16.110.47:/data

#

客户端

#cd /data/

#cat id_rsa.pub >> /root/.ssh/authorized_keys

#chmod 600 /root/.ssh/authorized_keys

#

3.3.运行说明

1

2

# ansible -h

Usage: ansible [options]


3.3.1.运行简单的ping测试

1

2

3

# ansible all -m ping

[WARNING]: provided hosts list is empty, only localhost is available

[WARNING]: No hosts matched, nothing to do

提示,没有提供服务器列表,所以添加列表

主机列表可以ip、域名、分组、正则匹配等方式运行

3.3.2.主机ip列表方式:

# vim /etc/ansible/hosts

[webservers]

10.237.154.25

ansible all -m ping

SUCCESS:表示成功

false:表示未进行改变

pong:返回值,表示成功


3.3.3.分组方式运行命令:

1

2

3

4

vim /etc/ansible/hosts

[webserver]

172.16.110.47

1

2

3

# ansible webserver -a "ls /root"

172.16.110.47 | SUCCESS | rc=0 >>

anaconda-ks.cfg

出现以上问题说明ssh认证有问题,重新弄一遍。

3.3.5.使用正则列表:

1

2

3

vim /etc/ansible/hosts

[webserver]

172.16.110.4[7:8]

1

2

3

4

5

6

7

# ansible webserver -a "/sbin/ifconfig ens33 | grep netmask"

172.16.110.48 | FAILED | rc=1 >>

|: Unknown host

ifconfig: `--help' gives usage information.

172.16.110.47 | FAILED | rc=1 >>

|: Unknown host

ifconfig: `--help' gives usage information.

这里增加了管道,ansible增加管道必须使用shell的模块运行

1

2

3

4

5

# ansible webserver -m shell -a "/sbin/ifconfig ens33 | grep netmask"

172.16.110.47 | SUCCESS | rc=0 >>

inet 172.16.110.47 netmask 255.255.255.0 broadcast 172.16.110.255

172.16.110.48 | SUCCESS | rc=0 >>

inet 172.16.110.48 netmask 255.255.255.0 broadcast 172.16.110.255

3.4.Inventory 参数的说明,摘自网上

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

ansible_ssh_host

将要连接的远程主机名.与你想要设定的主机的别名不同的话,可通过此变量设置.

ansible_ssh_port

ssh端口号.如果不是默认的端口号,通过此变量设置.

ansible_ssh_user

默认的 ssh 用户名

ansible_ssh_pass

ssh 密码(这种方式并不安全,我们强烈建议使用 --ask-pass 或 SSH 密钥)

ansible_sudo_pass

sudo 密码(这种方式并不安全,我们强烈建议使用 --ask-sudo-pass)

ansible_sudo_exe (new in version 1.8)

sudo 命令路径(适用于1.8及以上版本)

ansible_connection

与主机的连接类型.比如:local, ssh 或者 paramiko. Ansible 1.2 以前默认使用 paramiko.1.2 以后默认使用 'smart','smart' 方式会根据是否支持 ControlPersist, 来判断'ssh' 方式是否可行.

ansible_ssh_private_key_file

ssh 使用的私钥文件.适用于有多个密钥,而你不想使用 SSH 代理的情况.

ansible_shell_type

目标系统的shell类型.默认情况下,命令的执行使用 'sh' 语法,可设置为 'csh' 或 'fish'.

ansible_python_interpreter

目标主机的 python 路径.适用于的情况: 系统中有多个 Python, 或者命令路径不是"/usr/bin/python",比如 \*BSD, 或者 /usr/bin/python

不是 2.X 版本的 Python.我们

不使用 "/usr/bin/env" 机制,因为这要求远程用户的路径设置正确,且要求 "python" 可执行程序名不可为 python以外的名字(实际有可能名为python26).

与 ansible_python_interpreter 的工作方式相同,可设定如 ruby 或 perl 的路径....

示例说明:

1

2

3

4

some_host ansible_ssh_port=2222 ansible_ssh_user=manager

aws_host ansible_ssh_private_key_file=/home/example/.ssh/aws.pem

freebsd_host ansible_python_interpreter=/usr/local/bin/python

ruby_module_host ansible_ruby_interpreter=/usr/bin/ruby.1.9.3


方式 主机 命令 路径 认证 运行 情况 版本 系统 配置 高级 安全 成功 任务 变量 口号 多个 密码 密钥 建议 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司 亿人帮互联网科技有限公司 云之行互联网科技 科技股互联网 互联网科技财经 极限挑战互联网科技 广州凡科互联网科技 亿人帮互联网科技 人人互联网科技是培训 互联网 科技服务平台 安控科技rtu产品工业互联网 中盈科技互联网信息有限公司 科技互联网的估值 科技与互联网哪个更好 晓花互联网科技有限公司网址 广西互联网科技孵化中心 河南住房之家互联网科技 广州千川互联网科技有限公司 广西科技产业互联网是什么 东风日产互联网科技公司叫什么 广东万易互联网科技有限公司惠州分公司 深圳期待互联网科技 深圳卡尔迅互联网科技有限公司怎么样 现代科技和互联网有关系吗 花神(南京)互联网科技有限公司 企晟互联网信息科技有限公司 银行科技岗属于互联网吗 上海互联网科技公司ppt 中国互联网公司的科技投入 东风日产互联网科技公司叫什么
0