博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
都在说自动化运维工具-Ansible搭建第一步~~
阅读量:4171 次
发布时间:2019-05-26

本文共 1527 字,大约阅读时间需要 5 分钟。

现在很多人都在说运维自动化工具,这里大致介绍下Ansible的一个安装配置过程。


Ansible简介

Ansible是一个简单的自动化运维管理工具,基于Python语言实现,由红帽主导。

Ansible最大的特点:无需在被控主机部署任何客户端代理,默认直接通过SSH通道进行远程命令执行或下发配置。

  • Ansible官网: 

    在官网中有个Get started,点击可看到教学视频,英语好的伙伴可以简单过一遍,大致明白一个概念。 
    屏幕快照 2019-03-27 下午3.30.22.png-564.7kB

  • Ansible-Github:

  • 中文资料:
  • 英文文档:

Ansible架构图:

屏幕快照 2019-03-27 下午3.00.37.png-789.4kB

各个功能模块在网上可以查到具体的说明,这里简单是一个环境搭建的分享,功能模块在今后的分享中会具体来说明。


Ansible的特点,这个网上可以找到不少,这里大致罗列了一些:

  • 部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作;默认使用SSH协议对设备进行管理。
  • 配置简单、功能强大、扩展性强。
  • 支持API及自定义模块,可通过Python轻松扩展。
  • 通过Playbooks来定制强大的配置、状态管理。
  • 对云计算平台、大数据都有很好的支持。

Ansible安装配置(一)

实验环境

笔者在Zstack虚拟化环境上搭建了4台云主机来操作,操作系统版本为Centos7.4

对应主机名和IP地址:

 
  1. 192.168.1.122 jacky1 主管理节点
  2. 192.168.1.123 fisho1 客户端节点
  3. 192.168.1.124 jacky2 客户端节点
  4. 192.168.1.125 fisho2 客户端节点
  • 安装过程中记得配置好/etc/hosts文件,然后关闭Selinux,关闭防火墙。
 
  1. vim /etc/sysconfig/selinux
  2. SELINUX=enforcing 改为 SELINUX=disabled
 
  1. systemctl disable firewalld.service

系统重启。


  • 配置SSH密钥:

在主管理节点中(192.168.1.122 jacky1):

 
  1. sh-keygen -N ''
  2. yes即可

然后分发密钥:

 
  1. ssh-copy-id root@192.168.1.123
  2. ssh-copy-id root@192.168.1.124
  3. ssh-copy-id root@192.168.1.125

完成后测试: 

屏幕快照 2019-03-27 下午3.41.35.png-97.6kB


  • 安装Ansible:

主管理节点(192.168.1.122 jacky1)通过yum命令安装:

 
  1. yum install ansible -y

过程稍等片刻就好了,安装成功后显示如下: 

屏幕快照 2019-03-27 下午3.28.26.png-198.2kB
屏幕快照 2019-03-27 下午3.28.58.png-145.6kB


配置host文件:

这里配置的不是/etc/hosts,而是:etc/ansible/hosts

 
  1. vim etc/ansible/hosts
  2. 增加客户端设备的IP,并设置为【jacky】组

屏幕快照 2019-03-27 下午3.53.32.png-28.1kB


检查配置文件:

检查/etc/ansible/ansible.cfg中的host_key_checking = False


  • 基本测试:

完成上述过程,其实很简单,那么可以测试是否能运行: 

主节点运行命令:

 
  1. ansible jacky -m command -a "uptime"

显示如下: 

屏幕快照 2019-03-27 下午3.56.04.png-131.4kB

表示目前为止是成功的,关于上述命令,可以参考下命令的说明。

  • 命令说明:
 
  1. ansible -m MOD_NAME -a MOD_ARGS

通过执行:

 
  1. ansible -h

可以看到命令的使用说明:

屏幕快照 2019-03-27 下午4.06.53.png-768.3kB

屏幕快照 2019-03-27 下午4.07.09.png-715.4kB

 
  1. ansible-doc -l 获取模块信息
  2. ansible-doc -s MOD_NAME 获取指定模块的使用帮助
  3. 举例:ansible-doc -s aos_ip_pool

如图:

屏幕快照 2019-03-27 下午4.11.31.png-249.8kB

转载地址:http://qxyai.baihongyu.com/

你可能感兴趣的文章
<<C++程序设计原理与实践>>粗读 -- chapter8 Chapter9
查看>>
Linux Qt程序打包成一个可执行文件
查看>>
DragonBoard 410C中的Fastboot与调试串口注意事项
查看>>
跨系统的录音格式兼容性问题: iOS Android
查看>>
JVM 的垃圾回收器
查看>>
Mybatis的缓存
查看>>
@validated注解异常返回JSON值
查看>>
@JsonFormat注解使用
查看>>
Spring boot集成jxls实现导入功能
查看>>
Spring boot读取配置的方式(指定配置文件)
查看>>
Spring Boot切换不同环境配置
查看>>
Spring cloud之Ribbon搭建
查看>>
TreeMap 与 HashMap 的区别
查看>>
初识CAS
查看>>
Fork/Join 框架
查看>>
服务雪崩效应
查看>>
策略模式实例
查看>>
PostgreSQL数据库管理 第八章日常运维
查看>>
PostgreSQL数据库管理第十章Repmgr
查看>>
Linux shell正则表达式-sed-awk-grep应用
查看>>