拒绝从入门到放弃--《ansible自动化运维》
minxihou
红帽网络测试工程师
展开
-
Ansible入门简介
Ansible简介Ansible基于Python语言实现,由paramiko和PyYAML两个关键模块构建。Ansible的编排引擎可以出色地完成配置管理,流程控制,资源部署等多方面工作。ansible主要承担的工作有以下几种:配置管理服务即时开通应用部署流程编排监控告警日志记录Ansible公司负责Ansible开源软件的维护,管理。一般软件的更新时间为2个月。到现在写这篇博客为止,A原创 2016-12-01 16:21:44 · 5508 阅读 · 0 评论 -
playbook lookups
们知道有很多方式可以定义Ansible变量,但是这些变量的定义都是静态的。其实Ansible还支持从外部数据拉去信息,比如我们可以从数据库里面读取信息然后定义给一个变量的形式,这就是Ansible的lookups插件。目前Ansible已经自带一些lookups组件,现有的lookups都是在控制机上运行的。lookups filefile是我们经常使用的一种lookups方式,它的原理就是使用Py原创 2016-12-20 17:10:21 · 630 阅读 · 0 评论 -
使用Ansible loops编写循环
在ansible的playbook中如果发现需要有很多task重复的引用某一个相同的模块时这个时候需要使用loops去编写playbook减少使用某个模块。标准循环标准循环关键字:”with_items:” 编写standerloop.yaml的playbook文件分别对远程主机打印one,two这两个值:--- - gather_facts: Flase hosts: all原创 2016-12-20 16:34:22 · 6673 阅读 · 0 评论 -
playbook变量与引用
在介绍playbook变量与引用的时候我们先来了解下Ansible的变量来源。注:笔者的实验环境如下: 192.168.116.128 ansiblecontrol 部署ansible的server环境 负责下发指令给另外两台节点 192.168.116.129 web1应用着一个nginx服务 192.168.116.130 此节点上部署有一个用devstack部署的openstack环境三原创 2016-12-15 11:35:11 · 10303 阅读 · 1 评论 -
Ansible Ad-Hoc命令
执行命令ansible命令都是并发执行,我们可以针对目标主机执行任何命令。默认的并发数目由ansible.cfg中的forks值来控制。当然,也可以在运行ansible命令的时候通过-f指定并发数。如果遇到执行任务时间很长的情况,也可以使用ansible的异步执行功能。注:在1.X的版本中使用异步执行功能,-P 0的情况下会直接返回job_id的。但在2.x版本中ansible使用-P 0无法直接显原创 2016-12-14 10:55:58 · 1967 阅读 · 0 评论 -
配置Ansible环境
配置Ansible环境note:在这之后博主的实验环境都是使用源码包安装的Ansible环境。1.配置文件优先级在运行ansible命令时,命令将会按照预先设定的顺序查找配置文件。 (1)ANSIBLE_CONFIG:首先,ansible命令会检查环境变量,及这个环境变量将指向的配置文件。可以通过导入环境变量的方式来做修改,例如:export ANSIBLE_CONFIG=/directory_p原创 2016-12-13 17:08:02 · 4568 阅读 · 0 评论 -
Ansible Ad-Hoc,facts,role,Galaxy简介
前言笔者现在一直在跟着《Ansible自动化运维 技术与最佳实践》这本书一直在做ansible的学习,秉着不从入门到弃坑的原则,在这里用博客记录下我在书中做实验遇到的一些问题和想法,同时会把笔者在这个过程中遇到新知识概念和解决的问题也一起分享。自认为技术渣渣,秉着opensource的精神,欢迎大家指出写的不好的地方开喷。笔者在这里部署了三个节点。 1.AnsibleControl(192.168原创 2016-12-01 22:51:22 · 1862 阅读 · 0 评论 -
Ansible无法远程连接客户机
Ansible主机环境:CentOs 7 Error description: “failed”: true, “msg”: “to use the ‘ssh’ connection type with passwords, you must install the sshpass program”错误贴图: Ansible使用sshpass程序通过SSH登录到服务器时使用的密码。处于安全原因,原创 2016-12-01 22:00:28 · 5625 阅读 · 0 评论 -
配置运行Ansible
配置Ansible环境note:在这之后博主的实验环境都是使用源码包安装的Ansible环境。1.在运行ansible命令时,命令将会按照预先设定的顺序查找配置文件。(1)ANSIBLE_CONFIG:首先,ansible命令会检查环境变量,及这个环境变量将指向的配置文件。 (2)./ansible.cfg:其次,将会检查当前目录下的ansible.cfg配置文件。 (3)~/.ansible.原创 2016-12-01 21:51:30 · 2457 阅读 · 0 评论 -
安装ansible简介
直接从源码安装tar包安装制作rpm包安装方式yum安装方式pip安装方式Homebrew(Mac OSX)安装方式这里笔者在阅读的时候使用了源码和yum的安装方式,会做过多的阐述。其他的安装方式会提及到但是不做过多详解。笔者使用的实验系统是CentOS7。使用源码安装1.安装git工具#yum install git2.提取Ansible代码#git clone git://githu原创 2016-12-01 16:45:00 · 3376 阅读 · 0 评论 -
playbook conditionals
在实际应用过程中经常会碰到不同的主机可能要执行不同的命令,或者执行某个task的时候需要进行一个简单的逻辑判断,此刻就需要在写task的时候进行相应的判断。ansible的所有conditionals方式都是基于使用when进行判断的,when的值是一个条件表达式,如果天剑判断成立,这个task就执行某个操作,如果条件判断不成立,该task不执行或者某个操作会跳过。这里条件判断执行成功的条件为Tru原创 2016-12-20 17:12:51 · 691 阅读 · 0 评论