当前位置: 首页 > 科技观察

Linux自动化运维工具之Ansible(一)

时间:2023-03-14 15:36:47 科技观察

运维自动化是运维发展的必然方向,也是一个运维工程师追求效率最大化的必然选择。运维自动化的知识可以说是浩瀚如海。本文将选择其中一款工具ansible来介绍给大家。一、需要批量部署哪些任务1、操作系统常见安装的是collber,红帽卫星(redhat)系统专用。2、常见的操作系统配置有cfengine、puppet、chef、func。其中puppet***3.部署批处理程序4.运行批处理命令查看状态信息2.ansible简介ansible的结构大致如下优势批量操作系统配置,批处理程序部署,以及实现批量运行命令。运维工具常用工作模式1、代理模式:基于ssl实现。代理工作在被监控端。像木偶。2、Agentless模式:基于ssh服务,工作在被监控端。监控端是ssh的客户端。在无代理模式下工作时,Ansible是幂等的。Ansible在控制端只需要告诉监控终端想要的状态就可以实现批量部署。名词解释幂等性不会重复执行同一条指令。例如,软件的期望状态不会重复安装,只需要将期望状态告诉被监控端即可。Ansible基于模块工作。Ansible本身不具备批量部署的能力。真正具有批量部署的是模块ansibleruns只是提供了一个框架。该架构包括连接插件,负责与被监控端的通信。HostInventory:在配置文件中定义指定操作的主机,用于监控核心模块、命令模块、自定义模块的各个模块,以及借助插件记录日志、邮件等其他功能。PlayBooks:当脚本执行多个任务时。没有必要让节点一次运行多个任务。三、ansible的基本使用1、安装软件yuminstallansible-y#相应的软件也可以在epel仓库中手动编译#源码地址https://pypi.python.org/packages/source/a/ansible/ansible-1.5.tar.gz2,定义HostInventory#vim/etc/ansible/hosts[webhosts]172.16.10.22ansible_ssh_user=rootansible_ssh_pass=guoting172.16.10.33ansible_ssh_user=rootansible_ssh_pass=guotings_interpretation#ansible_ssh_user=rootansible_ssh_pass=guotings_anssibleuserlogin#guotings_anssibleuser=guoting是ssh登录密码3.测试各个模块#注意各个模块的使用情况可以使用ansible-docMOD查看。比如ansible-doc最常见的copyansible命令ansible-mMOE-a'MOD_ARV'支持的模块可以使用ansible-doc-l查看。四、ansible示例1、查看时间信息。command,shellmodule2.在控制端添加用户。用户模块3.实现sshkey认证。此时shell和copy模块就可以实现基于sshkey的通信了。这时候可以修改/etc/ansible/hosts如下######/etc/ansible/hosts[webhosts]172.16.10.22172.16.10.334,安装Software和StartupServices。yum,服务模块5,支持管道命令。raw模块类似于shell模块。ansible的基本介绍到这里就结束了。下一篇我们会介绍一些批量部署的小技巧~