自动化运维之Ansible基础元素介绍

Inventory(主机清单)

Ansible为了更加便捷的管理主机,在主机清单中将被管理主机进行分组命名,默认的主机清单为/etc/ansible/hosts文件。主机清单可以设置为多个,也可以通过Dynamic Inventory动态生成。

Inventory文件以中括号中的字符标识为组名,将主机分组管理,也可以将同一主机同时划分到多个不同的组中。如果被管理主机使用非默认的SSH端口,还可以在主机名之后用冒号加端口号的方式来进行标明。

例如:

[node1]    //方括号设置组名
www1.example.org  //定义被监控主机,这边可以是主机名也可以是IP地址
www2.example.org:2222  冒号后定义远程连接端口,默认是ssh的22端口
如果是名称类似的主机,可以使用列表的方式标识各个主机
[node2]
www[01:50].example.org ansible_ssh_user=root ansible_ssh_pass=123456
//01-50台主机 ,ssh登陆的用户,密码
[node3]
db-[a:f].example.org //支持匹配a b c ... f

Inventory中变量

1.主机变量
可以在定义主机时添加主机变量,以便在后续的playbook中使用,如:
[webserver]
www1.magedu.com http_port=80 maxRequestsChild=808 //定义主机名,端口80,进程号808
www2.magedu.com http_port=8080 maxRequestsChild=909
2.组变量

组变量是指给指定主机设置可以在Playbook中直接使用的变量,如:

http1.example.org
http2.example.org
3.组嵌套
在Inventory中的组还可以嵌套其他的组,也可以向组中的主机指定变量。不过这些变量只能在ansible-playbook工具中使用,直接使用Ansible工具并不支持,如:
[apache]
http1.example.org
http2.example.org

[nginx]
ngx1.example.org
ngx2.example.org

[webservers:children]
apache
nginx

Inventory变量参数

参数 含义
ansible_ssh_host 将要连接的远程主机名.与你想要设定的主机的别名不同的话,可通过此变量设置.
ansible_ssh_port ssh端口号.如果不是默认的端口号,通过此变量设置
ansible_ssh_user 默认的 ssh 用户名
ansible_ssh_pass ssh 密码(这种方式并不安全,我们强烈建议使用 --ask-pass 或 SSH 密钥)
ansible_ssh_private_key_file ssh 使用的私钥文件.适用于有多个密钥,而你不想使用 SSH 代理的情况.
ansible_ssh_common_args 此设置附加到sftp,scp和ssh的缺省命令行
ansible_sftp_extra_args 此设置附加到默认sftp命令行
ansible_scp_extra_args 此设置附加到默认scp命令行
ansible_ssh_extra_args 此设置附加到默认ssh命令行
ansible_ssh_pipelining 确定是否使用SSH管道。 这可以覆盖ansible.cfg中得设置
ansible_shell_type 目标系统的shell类型.默认情况下,命令的执行使用 ‘sh‘ 语法,可设置为 ‘csh‘ 或 ‘fish‘
ansible_python_interpreter 目标主机的 python 路径.适用于的情况: 系统中有多个 Python, 或者命令路径不是"/usr/bin/python",比如 *BSD, 或者 /usr/bin/python
ansible_*_interpreter 这里的"*"可以是ruby 或perl 或其他语言的解释器,作用和ansible_python_interpreter 类似
ansible_shell_executable 这将设置ansible控制器将在目标机器上使用的shell,覆盖ansible.cfg中的配置,默认为/bin/sh

原文地址:http://blog.51cto.com/13777111/2307625

时间: 2024-10-02 07:16:23

自动化运维之Ansible基础元素介绍的相关文章

自动化运维工具-Ansible基础

目录 自动化运维工具-Ansible基础 自动化运维的含义 Ansible 基础及安装 Ansible的架构 Ansible的执行流程 ansible配置文件 ansible Inventory(主机清单文件) Ansible ad-hoc ansible常用模块 实战 自动化运维工具-Ansible基础 自动化运维的含义 1.手动运维时代 2.自动化运维时代 3.自动化运维工具给运维带来的好处 Ansible 基础及安装 1.什么是Ansible Ansible是一个自动化统一配置管理工具 2

轻量级自动化运维工具ansible之一:介绍及初步使用

一.常见的自动化运维工具: OS Provisioning:PXE, Cobbler OS Config:puppet, saltstack, chef, func Task Exec:fabric, saltstack, func Program Deployment:fabric 管理主机控制被管理节点的方式: agent:被管理节点上需要安装代理程序以接受管理主机的操作:如puppet, func agentless:被管理节点不需安装代理程序,管理主机借助ssh传递操作指令,如ansib

自动化运维工具ansible基础应用

ansible是一款自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置,批量程序部署,批量运行命令等功能. ansible是基于模块工作的,本事没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.主要包括: 1.连接插件connection plugins:负责和被监控端进行通信 2.host inventory:指定操作的主机,是一个配置文件里卖弄

自动化运维工具ansible 角色Roles介绍(三)

一.角色(roles)介绍角色定制:roles 对于以上所有的方式有个弊端就是无法实现复用假设在同时部署Web.db.ha 时或不同服务器组合不同的应用就需要写多个yml文件.很难实现灵活的调用. roles 用于层次性.结构化地组织playbook.roles 能够根据层次型结构自动装载变量文件.tasks以及handlers等.要使用 roles只需要在playbook中使用include指令即可.简单来讲,roles就是通过分别将变量(vars).文件(file).任务(tasks).模块

自动化运维工具 Ansible ——YAML、基础元素

YAML 的介绍 YAML是一个可读性高的用来表达资料序列的格式.YAML参考了其他多种语言,包括:XML.C语言.Python.Perl等.YAML不是XML,不过,在开发的这种语言时,YAML的意思其实是:"Yet Another Makup Language"(仍是一种标记语言) YAML 的特点 1:具有很好的可读性,易于实现.2:表达能力强,扩展性好.3:和脚本语言的交互性好.4:有一个一致的信息模型.5:可以基于流来处理. YAML 的语法 YAML的语法和其他高阶语言类似

自动化运维工具Ansible详细部署 (转载)

自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog.51cto.com/353572/1579894 ========================================================================================== 一.基础介绍 ===========================

自动化运维之Ansible安装与模块应用

自动化运维之Ansible Ansible概述 由于互联网快速展导致产品更新换代速度逐渐加快,运维人员每天都要进行大量维护操作,人就按照传统方式进行维护会使工作效率低下,只是,部署自动化运维就尽可能安全,高校的完成工作 一般会把自动化运维工具划分为两类 (一)需要使用代理工具的,也就是基于专用的Agent程序完成管理功能,如:Puppet.Func.Zabbix等(二)不需要配置代理工具,可以直接基于SSH服务来管理完成,如:Ansible,Fabric等 下面介绍几款空能和类似的自动化运维工具

自动化运维工具——ansible详解案例分享

自动化运维工具--ansible详解案例分享(一)目录ansible 简介ansible 是什么?ansible 特点ansible 架构图ansible 任务执行ansible 任务执行模式ansible 执行流程ansible 命令执行过程ansible 配置详解ansible 安装方式使用 pip(python的包管理模块)安装使用 yum 安装ansible 程序结构ansible配置文件查找顺序ansible配置文件ansuble主机清单ansible 常用命令ansible 命令集a

3.1 自动化运维工具ansible

自动化运维工具ansible 运维自动化发展历程及技术应用 Iaas 基础设施即服务Pass 平台服务SaaS 软件即服务 云计算工程师核心职能 Linux运维工程师职能划分 自动化动维应用场景 文件传输命令执行 应用部署配置管理任务流编排 企业实际应用场景分析 1 Dev开发环境 使用者:程序员功能:程序员开发软件,测试BUG的环境管理者:程序员123 2 测试环境 使用者:QA测试工程师功能:测试经过Dev环境测试通过的软件的功能管理者:运维说明:测试环境往往有多套,测试环境满足测试功能即可