Ansible(一)基础

1.特性

no agents:不需要在被管控主机上安装任何客户端;

no server:无服务器端,使用时直接运行命令即可;

modules in any languages:基于模块工作,可使用任意语言开发模块

yaml,notcode:使用yaml语言定制剧本playbook

ssh by default:基于SSH工作

strong multi-tier solution:可实现多级指挥

2.架构

ansible core:ansible自身核心模块

host inventory:主机库,定义可管控的主机列表

connection plugins:连接插件,一般默认基于ssh协议连接

modules:core modules(自带模块)、custom modules(自定义模块)

playbooks:剧本,按照所设定编排的顺序执行完成安排任务(yaml,jinjia2)

3.工作模式

模块化设计调用特定的模块来完成特定任务,本身是核心组件,短小精悍;

基于Python实现,由Paramiko,PyYAML和Jinja2(模板化)三个关键模块实现;

Paramiko:python的一个可并发连接ssh主机功能库

主从模式工作:

master:ansible、ssh client;

slave:ssh server

默认使用SSH协议:

(1)基于密钥认证

(2)在inventory文件中指定账号和密码

时间: 2024-10-15 12:10:16

Ansible(一)基础的相关文章

ansible命令基础

7.ansible命令基础7.1语法7.1.1ansibleansible <host-pattern> [-f forks] [-m module_name] [-a args]host-pattern:对哪些主机生效,可以直接跟ip,可以调用hosts文件中的定义-f forks:并发线程数,即一批处理多少个主机-m module:使用哪个模块-a args:模块特有的参数,有的有默认值-i 文件名 相当于-inventory-file=文件,可以指定hosts文件7.1.2ansible

Ansible的基础元素和YAML介绍

本节内容: YAML Ansible常用的数据类型 Ansible基础元素 一.YAML 1. YAML介绍 YAML是一个可读性高的用来表达资料序列的格式.YAML参考了其他多种语言,包括:XML.C语言.Python.Perl以及电子邮件格式RFC2822等.Clark Evans在2001年在首次发表了这种语言,另外Ingy d?t Net与Oren Ben-Kiki也是这语言的共同设计者. YAML Ain't Markup Language,即YAML不是XML.不过,在开发的这种语言

ansible tower基础环境搭建

基础环境: yum -y update reboot yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget lrzsz zip unzip net-tools libselinux-python vim (安装一下基础依赖环境) postgresql安装: pgdg-centos94-9.4-2.noarch.rpm 2018-Feb-26 20:38:47 5.3K application

Ansible AWX基础配置和使用

AWX是一个开源的web应用,并为ansible的任务引擎提供用户接口和REST API.它是 ansible Tower的开源版本.ansible AWX允许我们使用web接口去管理Ansible的playbooks.inventoris和调度任务. 基础环境配置: 部署AWX:https://blog.51cto.com/10616534/2405212我们将通过Ansible AWX的web界面通过运行一个Ansible playbook来完成一个简单的hello world.如下两台服务

ansible 自动化基础

ansible工具 特性(1).no agents:不需要在被管控主机上安装任何客户端:(2).no server:无服务器端,使用时直接运行命令即可:(3).modules in any languages:基于模块工作,可使用任意语言开发模块:(4).yaml,not code:使用yaml语言定制剧本playbook:(5).ssh by default:基于SSH工作:(6).strong multi-tier solution:可实现多级指挥. 优点(1).轻量级,无需在客户端安装ag

ansible常用基础命令整合

查看组内主机列表 ansible webservers --list-hosts 执行命令 -m shell# ansible all -m shell -a 'hostname' 复制文件 -m copy# ansible all -m copy -a 'src=/etc/hosts dest=/etc/hosts' 用户管理 -m user 添加用户 # ansible all -m user -a "name=lala password=123" 删除用户 # ansible w

Ansible入门基础

常用自动化运维工具Ansible:python,Agentless,中小型应用环境 基于Python开发出来工具Saltstack:python,一般需部署agent,执行效率更高Puppet:ruby, 功能强大,配置复杂,重型,适合大型环境Fabric:python,agentlessChef: ruby,国内应用少Cfenginefunc Ansible发展史Ansible创始人,Michael DeHaan( Cobbler 与 Func 的作者)2012-03-09,发布0.0.1版,

运维自动化之ANSIBLE(基础知识)

Ansible发展史 Ansible ??创始人,Michael DeHaan( Cobbler 与 Func 的作者) ??2012-03-09,发布0.0.1版,红帽收购 ??2015-10-17,Red Hat宣布收购 ??Ansible是一种agentless(基于ssh 前提需要做ssh密钥对匹配),可实现批量配置.命令执行和控制,基于Python实现的自动化运维工具.同类自动化工具GitHub关注程度(2018-06-23) Ansible特性 1.模块化:调用特定的模块,完成特定任

自动化运维之Ansible应用基础模块(超详细)

Ansible是一种基于模块进行工作的框架结构.批量部署能力就是由Ansible所运行的模块实现的.简而言之Ansible是基于"模块"完成各种"任务"的. Ansible常用的核心模块 模块的基本语法如下 ansible [主机] [-m 模块] [-a args] //命令格式 # ansible-doc -l //列出所有已安装的模块 注:按q退出 # ansible-doc -s yum //-s列出yum模块描述信息和操作动作 1.command 模块 c

ansible之基础篇(二)

软件相关模块 yum rpm和yum的区别 rpm:redhat package manager yum 可以解决依赖关系 yum 源配置 使用yum下载时需要先下载epel [epel] name=Extra Packages for Enterprise Linux 7 - $basearch #名字 baseurl=http://mirrors.aliyun.com/epel/7/$basearch #rpm源的地址,可以写http,https,ftp,Samba,file: failov