Ansible自动化运维,ansible python

  Ansible自动化运维,ansible python

  我的个人资料Ansible 是什么?

  Ansible是基于Python开发的新型自动运输工具。它结合了各种运输工具(puppet、chef、func、fabric)的优点,包括批量系统配置、批量程序部署、批量命令执行等。

  Ansible是基于paramiko开发的,它在模块化的基础上工作。它不具备大规模部署的能力。真正批量部署的是ansible执行的模块,ansible只提供一个框架。Ansible是基于ssh的,所以不需要在远程dydzdj上安装客户端/代理。

  Dydzdj沟通了。Ansible目前已被红帽正式收购,是自动化交通工具中最受认可、最易用、最易学的。这是所有运输工程师必须掌握的技能之一。Ansible 特点

  介绍简单,在主端介绍Ansible环境即可,受控端不需要做任何事情;默认情况下,SSH协议用于管理设备;为了实现大部分日常操作,有很多常规的运维模块;它支持简单的配置,强大且可扩展的API和定制模块,在剧本上定制强大的配置和状态管理,在Python上很容易扩展。它是轻量级的,不需要在客户端安装代理。在更新和运行时提供了强大易用的Web管理接口和REST API接口——AWX平台。安装 Ansible

  对于Ansible,所有实际的批处理管理操作都是基于ssh的。另外,作为一个轻量级的自动运输工具,它不需要走C/S模式,也不需要启动服务,只需要在一个管理节点上安装相应的软件,直接使用即可。因为这个特性,Ansible避免了考虑升级的影响,就像其他自动化运输工具(比如Puppet)一样。如果您的计算机上当前安装了Python 2.6或更高版本,您可以运行Ansible。主机可以是红帽、Debian、CentOS、OS X、BSD等系统,但遗憾的是目前不支持Windows系统作为控制主机。

  第二,将Ansible实验环境小庄1中引入的主172.25.20.12小庄2下载到172.25.20.12,控制相关软件求解关联。

  点击此处下载https://opsx.alibaba.com/。

  -RW-R-R-1路线7968876 8月16日12336013 ansi ble-2 . 4 . 2 . 0-2 . el7 . no arch . rpm-R-R-1路线013 Python 2-Pass Lib-1.7.0-4.64.RPM-RW-R-2-0 . 9 . 2-1 . el7 . no arch . RPM-RW-R-1 root 1022088 12:13 python-paramiko-1.1

  然后在yum install -y *上运行配置ssh

  Ansible基于ssh实现服务器的批量处理。

  所以让小庄1和小庄2互相交流。

  【root @ xiaozuang1。ssh]# ssh-keygengeneratingpublic/privatersakeypair . enter fileinthichtosavethekey(/root/)。ssh 3360输入通行短语(emptyfornopassphrase):enter same passphrase again:yourdidentificationhasbeeensavedin/root/。SSS id _ RSA.yourpublickeyhasbeensavedin/root/. ssh/id _ RSA . pub . the keyfingerprintis:a 83360d 0336006 c:4 c

  -[ RSA 2048] - 。=.=B=。=oO。.*o。 E. o . S .oo. 。 -【root @ Xiaozhuang 1。ssh]# LSID _ RSA id _ RSA . pub known _ hosts[root @ Xiaozhuang 1。ssh]# ssh小庄2 #连接小庄2上次登录用ssh:thu aug 16 13:28:42 2018 from 172 . 25 . 20 . 250[root @小庄2 ~] #注销连接小庄2关闭.ansible的配置,配置主目录/etc/ansible

  Ansible.cfg是主配置文件。主机定义与主机组相关的内容。

  [root @ Xiaozhuang 1 ~]# CD/etc/ansi ble/[root @ Xiaozhuang 1 ansi ble]# l ansi ble . CFG主机角色[root @ Xiaozhuang 1 ansi ble]# VI ansi ble . CFG[root @ Xiaozhuang 1 ansi ble]#更改目录

  26 private _ key _ file=/root/。ssh/id _ rsa #定义SSH定义inventory文件(定义主机组)信任的文件目录

  [root @ Xiaozhuang 1 ansi ble]# vim/etc/ansi ble/hosts

  # Ex 2:属于“webservers”组[webservers]的主机集合# # alpha example . org # # beta example . org 172 . 25 . 20 . 11172 . 25 . 20 . 12测试:

  [root @ Xiaozhuang 1 ansi ble]# ansi ble web server-m command-a uptime 172 . 25 . 20 . 12 SUCCESS RC=0 14:17:30 up 2:38,2个用户,平均负载:0.01,0.02,0.05常用Ansible模块

  安塞波可以通过模块的方式来完成一些原理的管理工作,可以通过ansible-doc -l查看到所有自带的模块。ansible-doc -s+模块名可以用来查看具体模块对应的用法。

  [root @晓庄1 ansi ble]# ansi ble-doc-l

  [root @晓庄1 ansi ble]# ansi ble-doc-s setup #查看设置(设置)的用法setup模块

  用来收集远dydzdj的基本信息

  【root @晓庄1 ansi ble】# ansi ble web server-m setup 172。25 .20 .12 SUCCESS={ ansi ble _ facts :{ ansi ble _ all _ IP v4 _ addresses :[ 172。25 .20 .12 ], ansi ble _ all _ IPv6 _ addresses :[ fe80:5054:ff:fe4f:9456 ], ansi ble _ apparmor :{ status : disabled }, ansible_architecture :"UTF-8 ","崩溃内核":"自动","安静":真,.已更改:false}ping模块

  用来查看远dydzdj的运行状态

  【root @晓庄1 ansi ble】# ansi ble web服务器-m ping 172。25 .20 .12 SUCCESS={ changed :false, ping: dpdbm}file模块

  用来设置文件的属性,用[构成动植物的古名或拉丁化的现代名]指定选项。

  文件模块相关选项如下:

  参数力强制,有两个选项:是的或查找没有属组的文件定义文件/目录的所属组方式定义文件/目录的权限物主定义文件/目录的属主小路必选项,定义文件/目录的路径科学研究委员会被链接的源文件路径,只应用于状态=链接的情况建筑环境及(同high-voltagealternatingcurrent)高压交互电流系统模拟的软件平台被链接到的路径,只应用于状态=链接的情况递归递归设置文件的属性,只对目录有效状态定义文件/目录的参数,常用参数如下:目录:如果目录不存在,就创建目录文件:即使文件不存在,也不会被创建链接:创建软链接硬:创建硬链接触摸:如果文件不存在,则会创建一个新的文件,如果文件或目录已存在,则更新其最后修改时间缺席:删除目录、文件或者取消链接文件[root @晓庄1 ansi ble]# ansi ble web server-m file-a state=touch owner=晓庄组=晓庄mode=770 path=/home/mnt 172。25 .20 .12 SUCCESS={ changed :true, dest :/home/mnt , gid: 1000, group :晓庄,模式: 0770 ,所有者:晓庄, size: 0, state: file , uid: 1000}在小庄2上查看[root @晓庄2 mnt]# ll /home/mnt-rwxrwx - 1晓庄晓庄0 8月16 14:44 /home/mntcommand模块

  用以嘘的方式,在远dydzdj上执行命令

  [root @晓庄1 ansi ble]# ansi ble web server-m command-a ls/root 172。25 .20 .12 成功 RC=0蟒蛇-ks。cfgfping-3.10-1。el7。x86 _ 64。rpmiksemel-1.4-2。el7。centos。x86 _ 64。rpmphp-BC数学-5。4 .16-42 .El 7。x86 _ 64。rpmphp-mbstring-5。4 .11

  在xiaozhuang2上

  将对应的文件复制至远dydzdj

  参数backup备份源文件。Dest必需选项。源文件要复制到的远端dydzdj的绝对路径。如果源文件是一个目录,那么路径也必须是一个目录directory_mode。递归设置目录的权限,默认为系统默认权限强制。如果目标主机包含该文件,但内容不同,则会被强制覆盖。如果设置为yes,则仅当文件中不存在目标主机的目标位置时,才会复制该文件。默认情况下,yessrc被复制到far dydzdj的本地文件,可以是绝对路径,也可以是相对路径。如果路径是一个目录,它将被递归复制。在这种情况下,如果路径以“/”结尾,则只复制目录中的内容;如果不是以“/”结尾,将复制包括目录在内的全部内容,类似于rsync。[root @ Xiaozhuang 1 ansi ble]# ansi ble web server-m copy-a dest=/mnt src=/mnt/ 172 . 25 . 20 . 12 SUCCESS={ changed :false, dest :/mnt/, src :/mnt/ }copy模块

  Ansible-doc -l可以列出Ansible的所有模块名。

  Ansible-doc -s模块名,可以用来检查对应模块的实际使用情况。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: