一、简介

Ansible is a radically simple configuration-management, application deployment, task-execution, and multinode orchestration engine.

Design Principles

Have a dead simple setup process and a minimal learning curve
Be super fast & parallel by default
Require no server or client daemons; use existing SSHd
Use a language that is both machine and human friendly
Focus on security and easy auditability/review/rewriting of content
Manage remote machines instantly, without bootstrapping
Allow module development in any dynamic language, not just Python
Be usable as non-root
Be the easiest IT automation system to use, ever.

二、安装

ansible依赖于Python 2.6或更高的版本、paramiko、PyYAML及Jinja2。

2.1 编译安装

解决依赖关系

# yum -y install python-jinja2 PyYAML python-paramiko python-babel python-crypto
# tar xf ansible-1.5.4.tar.gz
# cd ansible-1.5.4
# python setup.py build
# python setup.py install
# mkdir /etc/ansible
# cp -r examples/* /etc/ansible

2.2 rpm包安装
# yum install ansible

注意:不同版本的ansible的功能差异可能较大。

三、简单应用

ansible通过ssh实现配置管理、应用部署、任务执行等功能,因此,需要事先配置ansible端能基于密钥认证的方式联系各被管理节点。

ansible <host-pattern> [-f forks] [-m module_name] [-a args]
-m module:默认为command

ansible-doc: Show Ansible module documentation
-l, --list List available modules
-s, --snippet Show playbook snippet for specified module(s)

实例应用:

ssh-keygen -t rsa -P ''

ssh-copy-id -i .ssh/id_rsa.pub root@103.242.135.25

一、定义host

注:一个主机可以定义于多个不同组          解决通信问题:1.直接可以编辑文件加入密码  2.可以基于ssh秘钥认证方式进行

ping模块使用,也可以使用单个主机或者已定义好的组名,这里使用all,代表所有主机

command模块使用,创建目录!可以使用linux系统命令

shell模块使用,命令中执行管道,重定向之类的需使用shell模块

shell模块和command模块的区别

cpoy模块使用,cp本地的1.html到远端主机的/root目录下,必须使用绝对路径

cron模块,批量执行定时任务

state=absent 删除指定name对应的任务计划

fetch拉取模块,将远端的文件拉到本地,和copy模块相反

file模块使用,创建目录,并赋予权限

用file模块,做软连接

使用yum模块,批量安转tree工具包

ansible all -m yum -a "name=tree state=installed"

name:指定安装包名

state:指定方式,安装或卸载

安装: install (`present' or `installed', `latest'),

卸载:remove (`absent' or `removed') a package

ansible all -m yum -a "name=httpd* state=latest"       #安装httpd服务

service模块使用,关闭服务:stopped 开启服务:started

转载于:https://www.cnblogs.com/yangxu01/p/6537062.html

ansbile简单应用相关推荐

  1. 在docker上安装部署tomcat项目 超简单,拿来主义

    在docker中部署tomcat,非常简单,而且省去了手动安装jdk等步骤,只需要将war包复制在容器tomcat实例中的webapps下面即可.以下将详细讲解流程: 在windows中打好包以后用w ...

  2. Linux下tomcat的安装与卸载以及配置(超简单)

    无敌简单的几步 1.安装 //首先你需要下载好tomcat包 sudo tar -xvzf apache-tomcat-7.0.85.tar.gz(这里是包名) -C 你要放的位置 2.卸载 rm - ...

  3. Docker安装Apache与运行简单的web服务——httpd helloworld

    Docker运行简单的web服务--httpd helloworld目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker运行简单的web ...

  4. Docker的安装、镜像源更换与简单应用

    Docker的安装.镜像源更换与简单应用[阅读时间:约20分钟] 一.概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 三.Docker的安装 四.Docker的简单应用 1. ...

  5. 基于Golang的简单web服务程序开发——CloudGo

    基于Golang的简单web服务程序开发--CloudGo[阅读时间:约10分钟] 一.概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 (1)基本要求 (2)扩展要求 三.具体 ...

  6. 简单图文配置golang+vscode【win10/centos7+golang helloworld+解决install failed等情况】

    博客目录(阅读时间:10分钟) 一.win10 0.系统环境 1. win10配置golang环境 ①下载相关软件 ②创建gowork工作空间 ③配置环境变量(GOPATH+PATH) ④验证环境配置 ...

  7. 简单介绍互联网领域选择与营销方法

    在我看来,互联网领域的选择是"安家",而营销方法的不同则表现了"定家"的方式多种多样,只有选对了,"家"才得以"安定". ...

  8. JAVA用最简单的方法来构建一个高可用的服务端,提升系统可用性

    一.什么是提升系统的高可用性 JAVA服务端,顾名思义就是23体验网为用户提供服务的.停工时间,就是不能向用户提供服务的时间.高可用,就是系统具有高度可用性,尽量减少停工时间.如何用最简单的方法来搭建 ...

  9. java发送简单邮件_Java程序实现发送简单文本邮件

    /** * Java程序实现发送简单文本邮件 * * @author Administrator * */ public class SendTextMail { // 定义发件人地址 public  ...

最新文章

  1. [故障解决]图文:python启动报错:api-ms-win-crt-runtime-l1-1-0.dll丢失解决
  2. 《深入理解计算机网络》读书笔记一
  3. JVM新生代老年代GC分析
  4. php mysql 双条件排序,PHP-MySQL联合查询,按2个变量排序
  5. Flex与Javascript交互
  6. 力扣637. 二叉树的层平均值(JavaScript)
  7. 群晖安装pdo_mysql_使用docker方式部署禅道
  8. xirihanlin音乐盒 vol.1
  9. Vue-Access-Control:前端用户权限控制解决方案
  10. Sublime Text3搭建go运行环境
  11. 为什么至少三个哨兵_入职第一周,组长让我把部门redis服务搞成哨兵模式...慌-龙跃十二...
  12. 虚拟机linux启动是来宾账户,配置Openstack Nova以自动启动在主机重新引导之前运行的guest虚拟机...
  13. awk grep sed cut学习
  14. 夜神模拟器adb找不到
  15. HDU 1069 DP
  16. openwrt-17.01.6 LEDE下载
  17. 雷电2接口_代替你电脑的所有接口,世界最快的雷电3了解一下
  18. 课下作业(选做)第八周
  19. WPF学习之深入浅出话命令
  20. Firefly笔记一之http模块

热门文章

  1. clone是深拷贝还是浅拷贝_Python中的浅拷贝和深拷贝
  2. Unknown encoder ‘libx264‘的解决方法
  3. bootstrap table 分页_Java入门007~springboot+freemarker+bootstrap快速实现分页功能
  4. 四、数据预处理——处理连续型特征:二值化与分段
  5. python 对象引用、可变性 和 垃圾回收
  6. LeetCode LCP 33. 蓄水(暴力枚举)
  7. 01.神经网络和深度学习 W3.浅层神经网络(作业:带一个隐藏层的神经网络)
  8. LeetCode MySQL 1495. Friendly Movies Streamed Last Month
  9. LeetCode 130. 被围绕的区域(图的BFS/DFS)
  10. python输入十个数输出最大值_python输入十个数如何输出最大值