Centos7安装自动化运维Ansible

自动化运维Devops-Ansible

Ansible是新出现的自动化运维工具,基于Python 开发,集合了众多运维工具(puppet 、cfengine、chef、func、fabric)的优点,实现了批量系统配置 、批量程序部署、批量运行命令 等功能。Ansible架构相对比较简单,仅需通过SSH 连接客户机 执行任务即可

Ansible是一个同事管理多个远程主机的软件(ssh),可以是linux也可以是Windows主机

测试环境

|------------|----------------|---------|
| 操作系统版本 | IP 地址 | 主机名 |
| Centos7.6 | 192.168.68.133 | manage |
| Centos7.6 | 192.168.68.134 | node01 |
| Centos7.6 | 192.168.68.135 | node02 |

关闭selinux

修改/etc/sysconfig/selinux文件中的SELINUX=disable

sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

#关闭防火墙

systemctl stop firewalld.service

systemctl disable firewalld.service

Ansible的认证方式有:SSH、公私钥认证

安装python3

yum -y install python3 python3-pip -y

Manage安装ansible

yum安装

安装依赖epel-release

yum -y install epel-release

#安装ansible

yum -y install ansible

ansible --version

二进制安装

可以自己选择版本

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

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命令语法

Ansible 192,168,68,124 -m shell -a "free -m"

Ansible webservers -m shell -a "free -m"

Ansible 192,168,68,124:200 -m shell -a "free -m"

Ansible主机清单

/etc/ansible/hosts

编写node组

vim + /etc/ansible/hosts

配置认证

认证

将master虚拟机的公钥分发给需要免密登录的虚拟机

ssh-copy-id root@192.168.68.134

ansible 192.168.68.134 -m shell -a "hostname"

密码认证

vim + /etc/ansible/hosts

默认ansible_user=root

Ansible连接指纹确认

~/.ssh/known_hosts文件存放了目标机器的指纹信息

首次连接确认需要指纹确认,可以忽略

host_key_checking = False 不做检查主机密钥

ansible报错

> app | FAILED! => {

> "msg": "Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support

> this. Please add this host's fingerprint to your known_hosts fihost."

> }

解决办法:

vi /etc/ansible/ansible.cfg

在文件找到host_key_checking = False

修改前

uncomment this to disable SSH key host checking

#host_key_checking = False

修改后:就是把前面得#号去掉

uncomment this to disable SSH key host checking

host_key_checking = False

相关推荐
XIAOHEZIcode1 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220702 天前
如何搭建本地yum源(上)
运维
大树885 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠5 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质5 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工5 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智5 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_5 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉5 天前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
dayuOK63075 天前
写作卡壳怎么办?我的“5分钟启动法”
人工智能·职场和发展·自动化·新媒体运营·媒体