自动化运维工具ansible学习+使用ansible批量推送公钥到远程主机

本文介绍了Ansible自动化运维工具的基本概念、工作原理和优点,并详细阐述了如何使用Ansible的authorized_keys模块结合yaml文件批量推送公钥到远程主机,旨在简化服务器管理流程。
摘要由CSDN通过智能技术生成
原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。

目录:

一、ansible简介

1.1、ansible是什么

1.2、ansible如何工作

1.3、ansible优缺点

1.4、ansible安装方式

1.5、ansible文件简单介绍

1.6、ansible简单使用

二、ansible-shell简介

2.1、ansible-shell是什么

2.2、ansible-shell安装方式

2.3、ansible-shell简单使用

三、使用ansible的authorized_key模块批量推送公钥到远程主机

3.1、生产秘钥对

3.2、使用ansible-playbook来生成推送公钥

四、相关站点的推荐




废话不多说,开始上干货。。。。大笑

一、ansible简介
1.1、ansible是什么

ansible是个什么东西呢?官方的title是“Ansible is Simple IT Automation”——简单的自动化IT工具。这个工具的目标有这么几项:让我们自动化部署APP;自动化管理配置项;自动化的持续交付;自动化的(AWS)云服务管理。




下面这是摘自36氪的一段介绍,很详细:

AnsibleWorks成立于2012年,由自动化工具Cobbler及Func的开发者Michael DeHaan创建。其Ansible平台是一个开源的配置及计算机管理平台。可实现多节点的软件部署,执行特定任务并进行配置管理。

Ansible跟其他IT自动化技术的区别在于其关注点并非配置管理、应用部署或IT流程工作流,而是提供一个统一的界面来协调所有的IT自动化功能,因此Ansible的系统更加易用,部署更快。受管理的节点无需安装额外的远程控制软件,由平台通过SSH(Secure SHell)对其进行管理,因此十分方便。其模块支持JSON等标准输出格式,可采用任何编程语言重写。

Ansible可以让用户避免编写脚本或代码来管理应用,同时还能搭建工作流实现IT任务的自动化执行。IT自动化可以降低技术门槛及对传统IT的依赖,从而加快项目的交付速度。

目前,Ansible已有30万用户,每月下载量接近3万次。其客户包括AppDynamics、Evernote 、MapR以及金融服务、电信、医疗保健、媒体业的财富500强公司。


免费版:http://www.ansibleworks.com/docs/


1.2、ansible如何工作:
Ansible默认是通过SSH通道来管理的,也就是它所说的免客户端方式管理, 它底层是通过 paramiko 来实现的。   
对Ansible底层工作机制感兴趣的可以参考这个: http://www.the5fire.com/explore-the-ansible.html

ansible执行过程大体过程如下图,其中暖色调的代表已经模块化。

wKiom1N1faXDDKHyAAJ2qmuQi9E804.jpg

图片来源于:http://ju.outofmemory.cn/entry/67581


1.3、ansible优缺点

ansible有如下优点:       
1.3.1、轻量级,他不需要去客户端安装agent,更新时,只需要在操作机上进行一次更新即可        
1.3.2、批量任务执行可以写成脚本,而且不用分发到远程就可以执行        
1.3.3、使用python编写的,维护更简单        
1.3.4、支持sudo

缺点:       
1.3.5、对于几千台、上万台机器的操作,还不清楚性能、效率情况如何,需要进一步了解。        

1.4、ansible安装方式
1.4.1、安装前提

Control Machine Requirements

Currently Ansible can be from any machine with Python 2.6 installed (Windows isn’t supported for the control machine).


This includes Red Hat, Debian, CentOS, OS X, any of the BSDs, and so on.


Managed Node Requirements

On the managed nodes, you only need Python 2.4 or later, but if you are are running less than Python 2.5 on the remotes, you will also need:


python-simplejson


1.4.2、源码安装
1.4.3、pip安装
1.4.4、yum安装
1
2
3
4
[root@ansible ~]#
[root@ansible ~]# rpm -qa | grep ansible  # 检查是否安装
ansible-1.5.3-1.el6.noarch
[root@ansible ~]# yum install ansible -y  # 没有安装的话,使用这个安装即可


1.5、ansible组成介绍
1.5.1、包含文件介绍
1
2
3
4
5
6
[root@ansible ~]# tree /etc/ansible/
/etc/ansible/
├── ansible.cfg  # ansible的配置文件
└── hosts             # ansible的主仓库 用来存储需要管理的远程主机的相关信息
0 directories, 2 files
[root@ansible ~]#
1.5.2、ansible其他组件介绍
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值