经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Linux/Shell » 查看文章
Centos 7安装ansible自动化运维工具
来源:cnblogs  作者:谭咏麟  时间:2023/3/22 9:26:13  对本文有异议
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和防火墙

  1. # 关闭selinux
  2. 修改/etc/sysconfig/selinux文件中的SELINUX=disable
  3. sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
  4. #关闭防火墙
  5. systemctl stop firewalld.service
  6. systemctl disable firewalld.service

3、安装ansible

  • yum安装
  1. # 安装依赖epel-release
  2. yum -y install epel-release
  3. #安装ansible
  4. yum -y install ansible
  • 二进制编译安装
  1. # 可以自己选择版本
  2. wget https://releases.ansible.com/ansible/ansible-2.9.3.tar.gz
  3. # 解压安装
  4. tar xvf ansible-2.9.3.tar.gz
  5. mv ansible-2.9.3.tar.gz /opt/ansible
  6. cd /opt/ansible
  7. # 安装依赖,pip3为python的安装,先确认是否安装python3
  8. pip3 install -r requirements.txt -i https://pypi.yuna.tsinghua.edu.cn/simple/
  9. # 创建软连接
  10. ln -s /usr/bin/pip3 /usr/bin/pip
  11. # 安装ansible
  12. pip install --user ansible -i https://pypi.yuna.tsinghua.edu.cn/simple/
  13. # 创建python软连接
  14. ln -s /usr/bin/python3 /usr/bin/python
  15. # 创建ansible软连接
  16. ln -s /opt/ansible/bin/* /usr/bin
  17. # 将配置文件复制到ansible 工作路径下
  18. cp /opt/ansible/examples/ansible.cfg /etc/ansible
  19. cp /opt/ansible/examples/hosts /etc/ansible

4、ansible配置文件

  • ansible的主配置文件为/etc/ansible/ansible.cfg
  1. inventory :管理的主机清单文件路径
  2. libraryansible的模块存放的目录
  3. remote_tmp:上述工作原理中提到的将脚本发送至对端的临时目录
  4. local_tmp:上述工作原理中提到本地生成脚本存放的临时目录
  5. forks:并发连接数,默认为5
  6. sudo_user :命令执行用户
  7. remote_port :访问管理主机的端口
  8. host_key_checking:设置是否检查SSH主机的密钥,默认为false
  9. timeout ssh连接被管理主机的超时时间
  10. log_pathansilbe日志文件路径
  • ansible的主机配置文件为/etc/ansible/hosts
  1. # 这个清单就是我们的主机清单,里面保存的是一些 ansible 需要连接管理的主机列表
  2. 1、直接指明主机地址或者主机名
  3. ## green.example.com
  4. ## blue.example.com
  5. 192.168.0.200
  6. 192.168.0.201
  7. node02
  8. # 主机地址范围
  9. 192.168.0.[200:202]
  10. 2、定义一个主机组[组名]把地址或主机名加进去
  11. 例如mysql
  12. [mysqlserver]
  13. 192.168.0.201
  14. web
  15. [webserver]
  16. 192.168.0.201
  17. 192.168.0.202
  18. # 根据自己需求修改配置

5、ansbile常用命令

  1. # 查看ansible版本
  2. ansible --version
  1. # 常用于获取模块信息及其使用帮助
  2. ansible-doc -l | grep mysql
  3. # 例如查找出mysql相关的模块信息
  1. # ansible命令格式如下
  2. ansible <host-pattern> [-f forks] [-m module_name] [-a args]

6、配置服务器间的ssh免密登录

  1. # 在主控机上生成密钥
  2. ssh-keygen # 接下来一路回车即可
  3. # 将密钥传给客户端
  4. ssh-copy-id root@192.168.0.201
  5. ssh-copy-id root@192.168.0.202
  6. # 期间会输一次客户端的登录密码即可

/
/
/

7、使用ansible的ping模块进行验证

  1. # 测试两台客户机网络是否连通
  2. ansible 192.168.0.201 -m ping
  1. # 使用分组的host主机来验证
  2. ansible webserver -m ping

原文链接:https://www.cnblogs.com/Merbleue/p/17241418.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号