

Centos 7安装ansible自动化运维工具 - 谭咏麟
source link: https://www.cnblogs.com/Merbleue/p/17241418.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Centos 7安装ansible自动化运维工具
1、介绍:
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、SaltStack、chef、func)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
本期为大家展示安装ansible和一些基本的配置和命令使用,后期会讲述具体一些模块和其他内容。
2、部署环境
操作系统版本 | IP地址 | 主机名 |
---|---|---|
Centos7.6 | 192.168.0.200 | manage |
Centos7.6 | 192.168.0.201 | node01 |
Centos7.6 | 192.168.0.202 | node02 |

关闭selinux和防火墙
# 关闭selinux
修改/etc/sysconfig/selinux文件中的SELINUX=disable
sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
#关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
3、安装ansible
- yum安装
# 安装依赖epel-release
yum -y install epel-release
#安装ansible
yum -y install ansible
- 二进制编译安装
# 可以自己选择版本
wget https://releases.ansible.com/ansible/ansible-2.9.3.tar.gz
# 解压安装
tar xvf ansible-2.9.3.tar.gz
mv ansible-2.9.3.tar.gz /opt/ansible
cd /opt/ansible
# 安装依赖,pip3为python的安装,先确认是否安装python3
pip3 install -r requirements.txt -i https://pypi.yuna.tsinghua.edu.cn/simple/
# 创建软连接
ln -s /usr/bin/pip3 /usr/bin/pip
# 安装ansible
pip install --user ansible -i https://pypi.yuna.tsinghua.edu.cn/simple/
# 创建python软连接
ln -s /usr/bin/python3 /usr/bin/python
# 创建ansible软连接
ln -s /opt/ansible/bin/* /usr/bin
# 将配置文件复制到ansible 工作路径下
cp /opt/ansible/examples/ansible.cfg /etc/ansible
cp /opt/ansible/examples/hosts /etc/ansible
4、ansible配置文件
- ansible的主配置文件为/etc/ansible/ansible.cfg
inventory :管理的主机清单文件路径
library:ansible的模块存放的目录
remote_tmp:上述工作原理中提到的将脚本发送至对端的临时目录
local_tmp:上述工作原理中提到本地生成脚本存放的临时目录
forks:并发连接数,默认为5
sudo_user :命令执行用户
remote_port :访问管理主机的端口
host_key_checking:设置是否检查SSH主机的密钥,默认为false
timeout :ssh连接被管理主机的超时时间
log_path:ansilbe日志文件路径
- ansible的主机配置文件为/etc/ansible/hosts
# 这个清单就是我们的主机清单,里面保存的是一些 ansible 需要连接管理的主机列表
1、直接指明主机地址或者主机名
## green.example.com
## blue.example.com
192.168.0.200
192.168.0.201
node02
# 主机地址范围
192.168.0.[200:202]
2、定义一个主机组[组名]把地址或主机名加进去
例如mysql组
[mysqlserver]
192.168.0.201
web组
[webserver]
192.168.0.201
192.168.0.202
# 根据自己需求修改配置
5、ansbile常用命令
# 查看ansible版本
ansible --version

# 常用于获取模块信息及其使用帮助
ansible-doc -l | grep mysql
# 例如查找出mysql相关的模块信息

# ansible命令格式如下
ansible <host-pattern> [-f forks] [-m module_name] [-a args]
6、配置服务器间的ssh免密登录
# 在主控机上生成密钥
ssh-keygen # 接下来一路回车即可
# 将密钥传给客户端
ssh-copy-id [email protected]
ssh-copy-id [email protected]
# 期间会输一次客户端的登录密码即可

/

/

/
7、使用ansible的ping模块进行验证
# 测试两台客户机网络是否连通
ansible 192.168.0.201 -m ping

# 使用分组的host主机来验证
ansible webserver -m ping

Recommend
-
86
模板templates功能:根据模块文件动态生成对应的配置文件Jinja2语言,使用字面量,有下面形式字符串:使用单引号或双引号数字:整数,浮点数列表:[item1,item2,...]元组:(item1,item2,...)字典:{key1:value1,key2:value2,...}布尔型:true/false算术运算:+,-...
-
81
原文在此https://docs.chef.io/nodes.html节点分好几种又加了一台机器[root@chefnode ~]# cat /etc/hosts先确保hosts里面都有解析[root@chefserver chef]# scp chefdk-2.4.17-1.el7.x86_64.rpm root@chefnode:/root/chef先安装DKrpm –ivh chefdk-2
-
86
Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点。实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是Ansible...
-
83
一、Ansible介绍Ansible简单的说是一个配置管理系统(configurationmanagementsystem)。你只需要可以使用ssh访问你的服务器或设备就行。它也不同于其他工具,因为它使用推送的方式,而不是像puppet等那样使用拉取安装agent的方式。你可以将代码部署到任意数量的服务...
-
41
Ansible作为今年来越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为失误。Ansible通过本身集成的非常丰富的模块可以实现各种管理任务,其自带模块超过上千个。更为重要的是,它操作简单,但提供的功能又非常...
-
19
引子 坦白讲,如果一个公司写业务逻辑的工程师在用ansible,很可能说明这个公司的基础设施不够完备。这个工具一般是集成在devops工具中,对小白用户不可见的。 但是一般来说一个快速发展的公司,一段时间内的发展和基...
-
26
介绍 更加简洁的自动化运维工具,不需要再客户端上安装, 基于python开发, 安装简单,centos上直接yum, 可以实现批量操作系统配置、批量程序的部署、批量运行命令。 Ansible常用命令参数 -a:制定模块...
-
7
自动化运维工具Ansible(21)日志回调插件使用 原创 内置的回调插件 `log_plays` 会...
-
7
OpenSSH版本升级漏洞修复问题 👋 Hi, I’m @Me...
-
7
Helm Chart 部署 Redis 的完美指南
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK