Ansible的快速入门
Ansible 是一个简单的自动化引擎,可完成配置管理,应用部署,服务编排等各种IT需求。
Ansible使用python语言开发实现的开源软件,依赖于Jinjia2,paramiko和PyYAML这几个python库。
安装Ansible
可以使用yum或者pip安装。
yum -y install python-pip
pip install ansible
Ansible的配置文件
/etc/ansible/ansible.cfg
[defaluts]
remort_port= 2092
remot_user= scott
inventory= /etc/ansible/hosts
配置远程服务器列表
ansible会默认读取/etc/ansible/hosts配置的远程服务器列表,可以通过/etc/ansible/ansible.cfg修改读取的文件位置。
[appservers]
192.168.1.105 #默认的连接用户是root,端口是22,也可以在/etc/ansible/ansible.cfg修改这些默认配置
120.77.85.76 ansible_port=2085 ansible_user=devop1 #也可以指定指定端口和用户 [dbservers]
192.168.1.45
注意appservers里的成员我已经配置好了ssh的密钥连接,配置的方方法参考:ssh通过密钥进行连接
Ansible的ad-hoc模式
使用ansible命令执行操作的方式成为ad-hoc,对应的playbook方式操作远程服务器。
格式: ansible hostname || hostgroup || all -m module_name -a module_args
使用ping模块
由于dbservers没有配置ssh密钥连接,需要加上--ask-pass,输入用户的密码,如果是sudo的权限需要加上--ask-become-pass
使用command模块执行shell命令
由于command模块是默认的模块也可以省略
另外常见的模块还有copy,file,apt等。
使用Ansible-playbook
编写yaml格式的playbook
---
- hosts: webservers
become: yes
become_method: sudo
tasks:
- name: ping server
ping:
- name: copy file to remote server
copy: src=/tmp/data.txt dest=/tmp/data.txt
- name: chnage mode
file: dest=/tmp/data.txt mode=500 owner=scott group=scott
- name: ensure packeges installed
yum: pkg={{ item }} state=present
with_items:
- lrzsz
- git
hosts关键字声明Playbook应用服务器列表
become和become_method是在远程服务器通过sudo操作。
该Playbook包含若干个task,
第一个是判断服务器是否在线
第二个是复制本地文件到远程服务器
第三个是修改文件权限
第四个是安装软件
Ansible的快速入门的更多相关文章
- kolla-ansible快速入门
kolla-ansible快速入门 kolla-ansible是一个结构相对简单的项目,它通过一个shell脚本,根据用户的参数,选择不同的playbook和不同的参数调用ansible-playbo ...
- jumpservice配置:快速入门
快速入门 说明 到 Jumpserver 会话管理-终端管理 查看 Coco Guacamole 等应用是否在线 一.系统设置 1.1 基本设置 # 修改 url 的"localhost&q ...
- 一、Ansible基础之入门篇
目录 1. Ansible基础 1.1 介绍 1.2 工作原理 1.3 如何安装 1.3.1 先决条件 1.3.2 安装Ansible 1.4 管理节点与被管理节点建立SSH信任关系 1.5 快速入门 ...
- Web Api 入门实战 (快速入门+工具使用+不依赖IIS)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...
- SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...
- 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)
今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...
- 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- Mybatis框架 的快速入门
MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...
随机推荐
- thinkphp 对百度编辑器里的内容进行保存
模板代码 <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="U ...
- linux mongodb数据库的安装
折腾两天, 前领导留下的烂摊子,前天忽然挂掉了, 整个公司就我会linux, 奶奶的, 一言难尽. 下面记录下怎么安装mongodb, 前面是从菜鸟教程复制来的 1. 下载 MongoDB 提供了 l ...
- 【CentOS】CentOS7.0 mysql与卸载
mysql安装: 在使用命令 yum list mysql-server 安装mysql的时候,发现没有mysql的包.这时候,我们需要下载一个 下载包 wget http://repo.mysql. ...
- Zend Framework2 入门教程(转)
转载自: http://my.oschina.net/lai1362000/blog/201301 重申:这本书作者的截图我都放上去了,没侵权啊. 别问那么多,我只是一个安静的搬砖工. 摘要 Zend ...
- tpshop全局公共方法
TPshop 全局公告函数库 前后台可用 这里只列出有哪些方法, 简单描述, 具体的函数体查看 Application\Common\Common\function.php 文件 <?php ...
- Couchbase 如何设置密码;bucketPassword设置密码
Couchbase 默认创建的 bucket(桶)是没有密码的,那么在 web.config 里面的连接字符串是这样的 <!--配置缓存开始--> <configSection ...
- Linux 定时任务crontab_014
1. crontab命令概念 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使 ...
- 配置IDEA Scala环境
http://snglw.blog.51cto.com/5832405/1634595
- 加密算法(扩展知识:Base64编码)
在某些考虑数据安全的场景下,我们常常会用到加密解密.编码解码知识.比如把用户密码保存到数据库上,常用的方式是通过MD5或SHA1不可逆算法进行加密后密文保存. 这里主要介绍三种常用的加密算法: (1) ...
- vs技巧总结
工欲善其事,必先利其器,作为一个优秀的程序员很重要的一点就是要善用工具.最近专注于工具开发的我,最近觉得工具的使用,站在巨人的肩膀上进行劳作,而不是不断的造轮子,是非常重要的. 时间最贵,因为对于每个 ...