【原创】运维基础之Ansible(1)简介、安装和使用
官方:https://www.ansible.com/
一 简介
Ansible is a radically simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs.
It uses no agents and no additional custom security infrastructure, so it's easy to deploy - and most importantly, it uses a very simple language (YAML, in the form of Ansible Playbooks) that allow you to describe your automation jobs in a way that approaches plain English.
ansible的好处是快速、简单、易用、不需要安装agent,可以方便的用于配置管理和应用部署等自动化场景;
二 安装
1 安装
yum install -y ansible
2 测试
# ansible --version
ansible 2.7.5
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Jul 13 2018, 13:06:57) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
3 配置目录结构
# ls /etc/ansible/
ansible.cfg hosts roles
三 使用
首先在/etc/ansible/hosts中根据部署结构将server划分到多个group,然后可以针对某个group执行某些操作;
1 添加server分组配置
vi /etc/ansible/hosts
[all-servers]
192.168.0.54
192.168.0.55
192.168.0.56
以上配置了一个server_group名为all-servers,其中包含3台server;
可以通过--list查看某个server_group下的所有server:
# ansible all-servers --list
hosts (3):
192.168.0.54
192.168.0.55
192.168.0.56
2 执行操作
格式
ansible $server_group -m $module_name -a $module_args
例如ping:
# ansible all-servers -m ping
192.168.0.54 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.0.55 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.0.56 | SUCCESS => {
"changed": false,
"ping": "pong"
}
例如command:
# ansible all-servers -m command -a "date"
192.168.0.54 | CHANGED | rc=0 >>
Sun Jan 13 17:14:06 CST 2019192.168.0.56 | CHANGED | rc=0 >>
Sun Jan 13 17:14:06 CST 2019192.168.0.55 | CHANGED | rc=0 >>
Sun Jan 13 17:14:06 CST 2019
具体的module_name有哪些?可以通过命令查看
# ansible-doc -l
某个module_name的帮助也可以通过命令查看
# ansible-doc $module_name
比如:
# ansible-doc shell
> SHELL (/usr/lib/python2.7/site-packages/ansible/modules/commands/shell.py)
The `shell' module takes the command name followed by a list of space-delimited arguments. It is almost exactly like the [command] module but runs the command
through a shell (`/bin/sh') on the remote node. For Windows targets, use the [win_shell] module instead.
# ansible-doc copy
> COPY (/usr/lib/python2.7/site-packages/ansible/modules/files/copy.py)
The `copy' module copies a file from the local or remote machine to a location on the remote machine. Use the [fetch] module to copy files from remote locations to
the local box. If you need variable interpolation in copied files, use the [template] module. For Windows targets, use the [win_copy] module instead.
常用module:ping,command,shell,copy,file,script,cron等...
比如向某个group的所有server拷贝文件命令:
# ansible all-servers -m copy -a 'src=/tmp/1.log dest=/tmp/'
比如查看某个group的所有server的磁盘占用情况:
# ansible all-servers -m shell -a "df -h"
另外也可以直接指定ip来操作,比如:
# ansible 192.168.0.55 -m ping
其实如果只需要远程执行命令,ssh也可以
ssh 192.168.0.55 "date"
【原创】运维基础之Ansible(1)简介、安装和使用的更多相关文章
- 自动化运维工具之 Ansible 介绍及安装使用
一.初识Ansible 介绍: Absible 使用 模块(Modules)来定义配置任务.模块可以用标准脚本语言(Python,Bash,Ruby,等等)编写,这是一个很好的做法,使每个模块幂等.A ...
- 【Apache运维基础(1)】Apache的安装与使用
安装 yum -y install httpd httpd-devel # 在Ubuntu里面叫做Apache2,输入localhost能打开就算成功了 额...当然专业的运维还是老老实实的去编译吧; ...
- 【原创】运维基础之Ansible(2)离线安装
1 在一个能访问远程repo的服务器上执行,下载ansible及相关依赖的rpm包 # mkdir ansible# yum install --downloadonly --downloaddir= ...
- 【原创】运维基础之yum离线环境安装软件
首先查看系统版本号,然后根据版本号从 CentOS-7-x86_64-DVD-1708.iso 和 CentOS-7-x86_64-Everything-1708.iso 根据需要选择一个下载,我这里 ...
- 自动化运维工具之ansible
自动化运维工具之ansible 一,ansible简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fab ...
- linux运维基础知识
linux运维基础知识大全 一,序言 每一个微不足道的知识,也是未来的铺垫.每一份工作的薪资职位,也是曾经努力的结果. 二,服务器 1,运维人员工作职责: 1)保证数据不丢失:2)保证服务器24小时运 ...
- 自动化运维工具:ansible
自动化运维工具:ansible Ansible(1):简介和基本概念 Ansible(2):安装配置 Ansible(3):ansible资源清单管理 Ansible(4):常用模块
- Linux运维基础
一.服务器硬件 二.Linux的发展史 三.Linux的系统安装和配置 四.Xshell的安装和优化 五.远程连接排错 六.Linux命令初识 七.Linux系统初识与优化 八.Linux目录结构 九 ...
- 第一阶段·Linux运维基础-第1章·Linux基础及入门介绍
01-课程介绍-学习流程 02-服务器硬件-详解 03-服务器核心硬件-服务器型号-电源-CPU 01-课程介绍-学习流程 1.1. 光看不练,等于白干: 1.2 不看光练,思想怠慢: 1.3 即看又 ...
随机推荐
- Sql Server登录失败问题
1.启动SQL Server 2008 Management Studio,会看到 2. 里面有一个 身份验证.这个 身份验证 的下拉列表里面有两个选项: Windows 身份验证 和 SQL Ser ...
- OracleSql语句学习(五)
--数据库对象数据库对象包含:表,视图,索引,序列视图VIEN视图在SQL语句中体现的角色与表一样,但是视图并非真实存在的表,它只是对应一条查询语句的结果集 使用视图通常是为了重用子查询,简化SQL语 ...
- mybatis中使用到的设计模式
Mybatis中使用到了哪些设计模式呢?下面就简单的来介绍下: 1.构造者模式: 构造者模式是在mybatis初始化mapper映射文件的过程中,为<cache>节点创建Cache对象的方 ...
- Redis单机配置多实例,实现主从同步
版权声明:本文为博主原创文章,欢迎转载,转载请保留或注明出处 本文转自:http://www.cnblogs.com/lgeng/p/6623336.html 一,单机多实例:Redis官网: htt ...
- static与final区别
1. final final类不能被继承,没有子类,final类中的方法默认是final的 final方法不能被子类的方法复盖,但可以被继承 final成员变量表示常量,只能被赋值一次,赋值后不能 ...
- Django模板语言初识
一.Django框架简介 1.MVC框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控 ...
- 高斯消元(Gauss消元)
众所周知,高斯消元可以用来求n元一次方程组的,主要思想就是把一个n*(n+1)的矩阵的对角线消成1,除了第n+1列(用来存放b的)的其他全部元素消成0,是不是听起来有点不可思议??! NO NO NO ...
- Vivado怎么使用In system debug(类似于chipscope的东西)
流程 1.建立好工程后,首先设置综合选项为保留设计的层次结构,方便追查信号.
- MT【318】分式不等式双代换
已知$a,b>0$且$\dfrac{1}{a}+\dfrac{1}{b}=\dfrac{2}{3}$,求$\dfrac{1}{a-1}+\dfrac{4}{b-1}$的最小值. 解:令$m=\d ...
- 洛谷P3369 普通平衡树
刚学平衡树,分别用了Splay和fhq-treap交了一遍. 这是Splay的板子,貌似比较短? Splay #include <iostream> #include <cstdio ...