ansible-学习总结(Ansible、相关文件、相关命令)

Ansible

网站

官方网站:https://docs.ansible.com/
Ansible中文权威指南:https://ansible-tran.readthedocs.io/en/latest/

概念

  • Ansible:新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于 paramiko 开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。ansible目前已经已经被红帽官方收购,是自动化运维工具中大家认可度最高的,并且上手容易,学习简单。
  • SSH:SSH协议族可以用来进行远程控制, 或在计算机之间传送文件
  • paramiko:paramiko是Python的一个库,实现了SSHv2协议。有了Paramiko以后,我们就可以在Python代码中直接使用SSH协议对远程服务器执行操作,而不是通过ssh命令对远程服务器进行操作。
  • Ansible Tower (以前叫’AWX’)是能够帮助任何IT团队更容易使用Ansible的解决方案。该方案基于web。Tower允许对用户进行权限控制,即使某用户不能传送某SSH凭证,你也可以通过Tower来对该用户共享该凭证。我们可以通过图形化界面来管理Inventory,也可以对各种各样的云资源做同步。Tower可以记录所有job的日志,也可以与LDAP集成,并且拥有强大的可浏览的REST API。Tower也提供了命令行工具,可以与Jenkins轻松集成。Provisioning回调对自动伸缩拓扑图提供了强大的支持。Tower的免费版本最多支持10个节点,并且Ansible公司会提供强大的支持。
  • Ansible任务执行方式:
    • Ad-Hoc模式:临时命令模式,指的是使用 /usr/bin/ansible 运行 Ansible 直接执行一些命令,可以快速输入命令执行,同时不保存命令,相对于剧本形式,属于临时性,简短操作。
    • Playbook模式:剧本模式,是Ansible主要管理方式,也是Ansible功能强大的关键所在。playbook通过多个task集合完成一类功能,如Web服务的安装部署、数据库服务器的批量备份等。可以简单地把playbook理解为通过组合多条Ad-Hoc操作的配置文件。

特点

  • 部署简单,只需在主控端部署Ansible环境,被控端保持使用环境,无需安装额外软件
  • 默认使用SSH协议对设备进行管理
  • 有大量常规运维操作模块,可实现日常绝大部分操作
  • 配置简单、功能强大、扩展性强
  • 支持API及自定义模块,可通过Python轻松扩展
  • 通过Playbooks来定制强大的配置、状态管理
  • 轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可
  • 提供一个功能强大、操作性强的Web管理界面和REST API接口——Ansible Tower
  • YAML格式,编排任务,支持丰富的数据结构

注意事项

  • 执行ansible的主机一般称为主控端,中控,master或堡垒机
  • 主控端Python版本需要2.6或以上
  • 被控端Python版本小于2.4需要安装python-simplejson
  • 被控端如开启SELinux需要安装libselinux-python
  • windows不能做为主控端

Ansible架构

在这里插入图片描述
Ansible架构:

  • Host Inventory:记录了每一个由Ansible管理的主机信息,信息包括ssh端口,root帐号密码,ip地址等
  • Playbooks:剧本,YAML格式文件,多个任务定义在一个文件中,定义主机需要调用哪些模块来完成的功能
  • Ansible:Ansible的核心程序
  • Core Modules:核心模块,ansible通过模块功能管理远端Host
  • Custom Modules:自定义模块,完成Ansible核心模块无法完成的功能
  • Connection Plugins: 连接插件,通过定义可用的传输类型,使Ansible和Host通信
  • Plugins:通过插件来实现记录日志,发送邮件或其他功能

主要功能

在这里插入图片描述

  • PLAYBOOKS:任务剧本(任务集),编排定义Ansible任务集的配置文件,由Ansible顺序依次执行,通常是JSON格式的YML文件
  • ANSIBLE:组合INVENTORY、 API、 MODULES、PLUGINS的绿框,可以理解为是ansible命令工具集,其为核心执行工具
  • INVENTORY:Ansible管理主机的清单/etc/anaible/hosts
  • MODULES:Ansible执行命令的功能模块,多数为内置的核心模块,也可自定义,ansible-doc –l 可查看模块
  • PLUGINS:模块功能的补充,如连接类型插件、循环插件、变量插件、过滤插件等,该功能不常用
  • API: 供第三方程序调用的应用程序编程接口

相关文件

/usr/bin/ansible						#命令行工具
/usr/bin/ansible-doc					#帮助文档
/usr/bin/ansible-playbook				#剧本执行工具
/usr/bin/ansible-galaxy					#下载/上传优秀代码或Roles模块的官网平台
/usr/bin/ansible-pull					#远程执行命令的工具
/usr/bin/ansible-vault					#文件加密工具
/usr/bin/ansible-console				#基于Console界面与用户交互的执行工具

/etc/ansible/ansible.cfg				#主配置文件
/etc/ansible/hosts						#管理的主机清单
/etc/ansible/roles						#角色存放处

安装

1.配置一个epel源,epel中包含了ansible的安装软件,可以直接使用yum安装
2.epel阿里源:https://developer.aliyun.com/mirror/epel?spm=a2c6h.13651102.0.0.3e221b11Kh7GZj

[root@node1 yum.repos.d]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#根据阿里云的提示,直接安装下载repo文件,导入源地址
[root@node1 yum.repos.d]# yum repolist
……
epel            epel                  13,200
……
#配置好epel源,可以查看到资源,直接安装
[root@node1 yum.repos.d]# yum install -y ansible
……
Installed:
  ansible.noarch 0:2.9.3-1.el7                                                                                                                  

Dependency Installed:
  PyYAML.x86_64 0:3.10-11.el7              libyaml.x86_64 0:0.1.4-11.el7_0                             python-babel.noarch 0:0.9.6-8.el7      
  python-backports.x86_64 0:1.0-8.el7      python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7  python-cffi.x86_64 0:1.6.0-5.el7       
  python-enum34.noarch 0:1.0.4-1.el7       python-httplib2.noarch 0:0.9.2-0.2.el7                      python-idna.noarch 0:2.4-1.el7         
  python-ipaddress.noarch 0:1.0.16-2.el7   python-jinja2.noarch 0:2.7.2-2.el7                          python-markupsafe.x86_64 0:0.11-10.el7 
  python-paramiko.noarch 0:2.1.1-0.10.el7  python-ply.noarch 0:
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值