您当前的位置:首页 > 电脑百科 > 软件技术 > 软件技术

「自动化运维」带你入门ansible

时间:2022-02-10 09:19:12  来源:  作者:嘎嘎软件测试

1、什么是ansible?

ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

 

2、如何安装ansible?

 

ansible的安装来源于epel仓库,因此在安装前需确保安装了正确的epel源:yum install -y epel-release安装ansible命令:yum install ansible -y查看ansible是否安装:rpm -qa |grep ansible ,whereis ansible查看ansible安装信息:ansible --version

 

「自动化运维」带你入门ansible

 

3、ansible的特点?

ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:

(1) 连接插件connection plugins:负责和被监控端实现通信

(2) host inventory:指定操作的主机,是一个配置文件里面定义监控的主机

(3) 各种模块核心模块、command模块、自定义模块

(4) 借助于插件完成记录日志邮件等功能

(5) playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务

 

4、ansible相关概念

1、Play:将一系列主机与需要在主机上运行的任务列表相关联

2、Playbook:一个ansible脚本,它指定一系列play与一批play执行的对象主机

3、Task:Ansible play中的工作单元,一个task指定一个模块和相关参数,以及一个可选名字与一些可选的参数

4、TLS(Transport Layer Security):用于Web服务器与浏览器之间相关的安全通信协议

5、Transport :Ansible用于连接到远程主机的协议与实现,默认的transport是SSH

6、Convergence(收敛性):配置管理系统的一种属性,具有这种属性的系统将会对一台服务器执行多次让服务器接近期望的状态(Ansible执行一次后就会将服务器置为期望状态,所以不具备收敛性)

 

5、ansible的主机清单配置?

 

ansible 通过读取默认的主机清单配置/etc/ansible/hosts,可以同时连接到多个远程主机上执行任务。

 

「自动化运维」带你入门ansible

 

管理节点(即安装ansible的节点)上添加目标节点(即需要管理的节点)的ssh认证信息。管理节点生成SSH-KEY:ssh-keygen添加目标节点的SSH认证信息:ssh-copy-id root@目标节点IP添加认证信息后,目标节点主机的~/.ssh/目录下将会出现一个authorized_keys文件,里面包含了ansible管理节点的公钥信息,可以检查一下是否存在。测试ping探测test1客户主机是否存活:ansible -m ping test1

 

「自动化运维」带你入门ansible

 

6、ansible的常用模块?

1 、file模块

用于设定或修改文件的属性信息
group:默认为空
owner:默认为空
path:默认为空,别名:'dest', `name'
recurse:yes, no 默认为no
src:创建连接文件时有用


state:file, link, directory, hard, touch, absent
file 默认属性,如果文件不存在则不创建,并且报错,用于修改已存在文件的属性
directory 如果目录不存在,则创建目录和子目录
absent 递归删除文件或目录
link 在创建软链接是有用
hard 创建硬链接


示例
---
- name: file
  hosts: local
  tasks:
  - name: file
    file:
      src: '/tmp/{{ item.src }}'
      dest: '{{ item.dest }}'
      state: link
    with_items:
      - { src: 'x', dest: 'y' }
      - { src: 'z', dest: 'k' }

 

2 、synchronize 模块

archive:是否采用地规模上同步
compress:开启压缩默认为开启
copy_links:同步是否复制连接
delete:删除源中没有而目标文件存在文件
dest= 目标地址
dirs 以非递归的方式传输目录
mode:push或pull,默认为push
recursive 是否递归
rsync_opts 使用rsync的参数
rsync-path=PATH # 指定远程服务器上的rsync命令所在路径信息
rsync_timeout # 指定 rsync 操作的 IP 超时时间,和rsync命令的 --timeout 参数效果一样.
set_remote_user # put user@ for the remote paths. If you have a custom ssh config to define the remote user for
src= # 源,同步的数据源
times #
--exclude=.Git 忽略同步.git结尾的文件


注:同步businessdata目录下单独某个文件到对应目录,delete: yes 先清空再同步


---
- name: synchronize test1/sit files to develop
  hosts: develop
  tasks:
    - name: synchronize
      synchronize:
        src: '{{ item.src }}'
        dest: '{{ item.dest }}'
        delete: yes 
      with_items:
        - { src: '/tmp1/', dest: '/tmp1/' }
        - { src: '/tmp2/', dest: '/tmp2/' }

 

3 、template模块

文档内变量的替换的模块
ansible develop –m template –a ‘src=/mytemplates/foo.j2 dest=/etc/file.conf mode="u=rw,g=r,o=r"’
解释:将src上foo.j2的变量模版复制到dest上。Template适合用playbook编写 ,通过变量然后拷贝到远程主机。#1.2、jetty-core中的start.sh
ansible ${ENV} -m template -e "codeName=${codeName} startAddressPort=${startAddressPort}" -a "src=/etc/ansible/newProject/start.sh dest=/App/tc-${codeName}/jetty/${codeName}-core/bin/"


#2.1、Tomcat-oms:tc-xxx.sh
ansible ${ENV} -m template -e "codeName=${codeName} tcCodeNameAddressPort=${tcCodeNameAddressPort}" -a "src=/etc/ansible/newProject/tc-${codeName}.sh dest=/app/tc-${codeName}/tomcat/"

 

7、ansible学习资源?

 

1、小白学Ansible之基本介绍:https://zhuanlan.zhihu.com/p/91231901?utm_source=wechat_session&utm_medium=social&utm_oi=724990794020167680
2、AnsibleBook01:https://www.kancloud.cn/hiyang/ansiblebook/305223
3、AnsibleBook02:https://www.kancloud.cn/louis1986/ansible/544331


Tags:ansible   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
1、什么是ansible?ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量...【详细内容】
2022-02-10  Tags: ansible  点击:(3)  评论:(0)  加入收藏
在上一文中,我介绍了Ansible,那么不得不介绍Saltstack(以下简称Salt)了。在众多自动化部署工具中做选择题的时候,相信很多运维都会纠结,到底选哪一个比较好?现在我就来说说,希望看...【详细内容】
2021-03-04  Tags: ansible  点击:(136)  评论:(0)  加入收藏
ansible入门简单实践1、Ansible是什么Ansible是一种IT自动化工具。它可以配置系统,部署软件以及协调更高级的IT任务,例如处理配置管理,应用程序部署,持续部署,滚动更新。Ansibl...【详细内容】
2021-02-26  Tags: ansible  点击:(186)  评论:(0)  加入收藏
建立一个支持学习和实验新软件的环境。• 来源:linux.cn • 作者:Mike Calizo • 译者:Xingyu.Wang •(本文字数:7596,阅读时长大约:9 分钟) 能够构建和拆解公有云...【详细内容】
2020-12-31  Tags: ansible  点击:(223)  评论:(0)  加入收藏
通过将日历应用集成到 Ansible 中,确保你的自动化工作流计划不会与其他东西冲突。• 来源:linux.cn • 作者:Nicolas Leiva • 译者:geekpi •(本文字数:1966,阅...【详细内容】
2020-10-18  Tags: ansible  点击:(177)  评论:(0)  加入收藏
随着网络架构的不断升级和业务的复杂化,对产品多环境支持的要求越来越高。产品支持的数据库、应用服务器、中间件、操作系统等的多样化,使测试环境的组合越来越多,导致测试环...【详细内容】
2020-09-03  Tags: ansible  点击:(67)  评论:(0)  加入收藏
目录 1、安装ansible 2、安装k8s 3、检查环境 3.1、检查etcd 3.2、检查flanneld 3.3、检查nginx和keepalived 3.4、检查kube-apiserver 3.5、检查 kube-controller-manager...【详细内容】
2020-08-13  Tags: ansible  点击:(83)  评论:(0)  加入收藏
主机规划 添加用户账号说明:1、 运维人员使用的登录账号;2、 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放;3、 该用户也被 ansible 使用,因为几乎所有的生...【详细内容】
2020-06-23  Tags: ansible  点击:(49)  评论:(0)  加入收藏
了解如何通过这些 Ansible 模块实现几乎任何事情。 来源:https://linux.cn/article-12304-1.html 作者:Mark Phillips 译者:Xingyu.Wang了解如何通过这些 Ansible 模块实现几...【详细内容】
2020-06-11  Tags: ansible  点击:(62)  评论:(0)  加入收藏
主机规划 系统初始化:必要的系统初始化基础组件包括:zabbix监控,mariadb(用于存放zabbix监控信息)业务组件包括:MySQL、memcached、nginx、PHP、haproxy、keepalived添加用户账号...【详细内容】
2020-05-12  Tags: ansible  点击:(57)  评论:(0)  加入收藏
▌简易百科推荐
1、什么是ansible?ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量...【详细内容】
2022-02-10  嘎嘎软件测试    Tags:ansible   点击:(3)  评论:(0)  加入收藏
相信不少网友遇到过电脑无法访问文件的情况,最近就有网友反映自己的win10系统无法访问文件,提示windows无法访问指定设备路径或文件怎么解决。下面教下大家win10访问不了文件...【详细内容】
2022-02-09  小白一键重装系统    Tags:文件   点击:(5)  评论:(0)  加入收藏
文件丢失了,这到底是怎么回事?如果文件丢失之前有弹出病毒威胁的提示,那就代表文件的丢失和病毒脱不了干系。恢复被病毒隐藏的文件该怎么做?没错,如果确认是中毒产生的文件丢失现...【详细内容】
2022-02-09  数据恢复软件    Tags:病毒   点击:(4)  评论:(0)  加入收藏
在下载一些文件的时候,如果不小心可能会下载安装到一些流氓软件,影响到自己的正常使用。有网友想了解win7电脑怎么删除隐藏的流氓软件,下面就教下大家win7电脑删除隐藏的流氓软...【详细内容】
2022-02-09  装机吧  搜狐号  Tags:流氓软件   点击:(5)  评论:(0)  加入收藏
win10电脑使用久后,难免会积累各种垃圾文件甚至流氓软件等,导致出现电脑自动安装乱七八糟的软件的情况。那么怎么解决电脑自动安装软件?下面教下大家win10电脑总是自动安装软件...【详细内容】
2022-02-09  装机吧  搜狐号  Tags:软件   点击:(8)  评论:(0)  加入收藏
第一步:pip install selenium 第二步:查看自己的谷歌浏览器版本 第三步:浏览器输入chromedriver mirror,查找与自己谷歌浏览器版本最相近的压缩包,但不能超过该版本。 因为...【详细内容】
2022-02-08  虎纹同学    Tags:谷歌浏览器   点击:(6)  评论:(0)  加入收藏
我们经常会使用压缩解压工具来压缩软件,不仅减少占用的空间,还方便传输,传输速度快。但是有用户问了怎么绕过rar密码提取文件呢?下面我们就来看看解决的办法。  解决方法:  1...【详细内容】
2022-02-08  袁文泽    Tags:rar密码   点击:(12)  评论:(0)  加入收藏
大家为了方便和提高电脑文件的相互互传,是不是都会使用传统的打包文件,很多人可能只知道传统的文件右键添加到压缩文件这个的简单方法,但是可能都不懂文件打包压缩文件还可以设...【详细内容】
2022-02-08  学客联盟    Tags:压缩文件   点击:(7)  评论:(0)  加入收藏
很多习惯使用迅雷软件下载资源的用户,有个疑问:迅雷能下载百度网盘里的东西吗?其实是可以的。但是操作起来就有点麻烦,如果用户真的想知道怎么使用迅雷下载百度网盘文件的话,就一...【详细内容】
2022-02-07  袁文泽    Tags:迅雷下载   点击:(33)  评论:(0)  加入收藏
毕业证、身份证、工作证、出入证、旅游签证…懒得为不同底色、不同尺寸的照片,一遍遍去照相馆?拍出貌美证件照+改尺寸、背景色指南! 一起来学习吧!...【详细内容】
2022-01-27    人民日报  Tags:证件照   点击:(15)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条