mage Ansible学习3 ansible role实例
一、ansible配置文件解析
1、/etc/ansible/ansible.cfg配置文件详解
[root@node3 ~]# cat /etc/ansible/ansible.cfg |grep -Ev "^#|^$"
[defaults] #默认配置,对所有应用程序都生效
roles_path = /etc/ansible/roles:/usr/share/ansible/roles
[inventory]
[privilege_escalation] #默认登陆时使用的普通用户,当需要做一些管理配置时就需要将其转换成另外一个拥有特权的管理用户
[paramiko_connection] #python应用程序使用指定库连接各目标主机时使用的选项
[ssh_connection]
[persistent_connection]
[accelerate]
[selinux]
[colors] #显示的颜色
[diff]
2、那么ansible所用的操作什么时候才会被执行呢?在ansible主机上由管理员手动执行ansible playbook,这样所有的被管控的主机才能测试其是否处于目标状态,如果没有处于目标状态则强制其处于目标状态,如果说我们的目标主机不幸被别人手动修改了怎么办呢?比如有人一不小心给其程序包卸载了,服务停止了,配置文件删除了等,此时我们就只有重新执行一遍我们的playbook才能确保其生效,那么什么时候重新执行呢?
a、如果有必要的话可以把ansible的 playbook定义成计划任务,每隔半小时执行一次,所以目标主机即便是不行的被别人有意或无意的修改了 ansible的playbook的自动执行都能确保他们处于目标状态。
b、但是如果我们客户端主机之上期望自己来检查ansible playbook中所定义的角色和自己相关的配置是否匹配又该怎么办呢?在我们ansible2.0后的功能是支持刚刚所说的功能的。在每一个被管控主机端只需要安装上ansible,有一个命令叫ansible-pull,他能够连接至ansible服务器获取与自己相关的配置内容并应用于本地。
c、ansible-vcs:我们使用ansible-vcs的方式可以实现ansible的pull机制,那么他是什么呢?你可以理解为他就是ansible对应的各playbook通过某个套接字提供服务的某个配置。对应文件为https://github.com/andrewrothstein/ansible-vcs/blob/master/tasks/main.yml,如果真的用到这个模型的时候应该是用salt或puppet好。
mage Ansible学习3 ansible role实例的更多相关文章
- 自动化运维工具ansible学习+使用ansible批量推送公钥到远程主机
目录: 一.ansible简介 1.1.ansible是什么 1.2.ansible如何工作 1.3.ansible优缺点 1.4.ansible安装方式 1.5.ansible文件简单介绍 1.6. ...
- mage Ansible学习2 Playbook
一.上集回顾 1.运维: 手动 --> 标准化 --> 工具化 --> 自动化 --> 智能化 2.工具化 OS Install:PXE ,Cobbler:Virutaliza ...
- mage Ansible学习1 常用模块
一.Ansible特点 二.Ansible架构 1.core modules实现常用模块 2.Custom modules实现自定义模块 3.Connection Plugins 连接插件,可通过SS ...
- Ansible学习实战手记-你想要知道的可能都在这里了
最近接触了ansible工具,查找了一些资料,也做了一些总结.希望能给刚接触的新手带来一些帮助. 此总结有实际例子,大部分也是从实践中用到才逐一总结的. 当然可能肯定一定会存在一些错误和纰漏,还望大家 ...
- ansible 学习与实践
title: ansible 学习与实践 date: 2016-05-06 16:17:28 tags: --- ansible 学习与实践 一 介绍 ansible是新出现的运维工具是基于Pytho ...
- ansible学习笔记三:playbook和roles
参考博客: Ansible 系列之 Playbooks 剧本 -飞走不可(博客园) linux运维学习之ansible的playbook及roles的使用 - 51CTO博客 nginx 基于uwsg ...
- ansible学习笔记一
ansible学习笔记一 参考博客: ansible学习 - 51CTO博客 一.安装 1 .下载epel源 wget -O /etc/yum.repos.d/epel.repo http://mir ...
- python学习之ansible api
Python API 2.0 从2.0的事情开始更复杂一些,但是你会得到更多离散和可读的类: #!/usr/bin/env python import json from collections im ...
- Ansible学习 ad-hoc命令
Ansible提供两种方式去执行命令,一种是ad-hoc命令,一种是写入Ansible playbook.类似于前者在命令行敲shell,后者是写shell-script脚本,前者解决一些简单的任务, ...
随机推荐
- Python进阶:GIL(全局解释器锁)
一个不解之谜 一段代码 def CountDown(n): while n > 0: n -= 1 # CountDown(100000000) #==8秒 from threading imp ...
- PHP CLI中,三个系统常量:STDIN、STDOUT、STDERR
PHP CLI中,有三个系统常量,分别是STDIN.STDOUT.STDERR,代表文件句柄. /** *@ 标准输入 *@ php://stdin & STDIN *@ STDIN是一个文件 ...
- [洛谷P4213]【模板】杜教筛(Sum)
题目大意:给你$n$,求:$$\sum\limits_{i=1}^n\varphi(i),\sum\limits_{i=1}^n\mu(i)$$最多$10$组数据,$n\leqslant2^{31}- ...
- screen命令下,自启动设置
建立autostart.sh文件 #!/bin/bash screen_name=$"coffeetest:9100" screen -dmS $screen_name cmd=$ ...
- 分享-SpringCloud微服务架构图
1: 为大家分享一张SpringCloud微服务通用架构图 标题 此图仅供参考: 需要原图的同学请移步 >>>>>>>>> 这里 如有不合理的地 ...
- 【转载】 C#中List集合使用First()方法获取第一个元素
在C#的List集合操作过程中,如果要获取List集合中的第一个元素对象,则一般会先通过获取到list[0]这种方式来获取第一个元素.其实在List集合中提供了获取最后一个元素的First()方法,调 ...
- Java中重载(overloading)和重写(Overriding)的区别
一:方法的重载 (1)方法重载指在类中定义方法名相同,参数不同的不同的多个方法(返回值类型可随意,不能以返回类型作为重载函数的区分标准). 参数不同表现: 1.参数的个数不同 2.参数的类型不同 3. ...
- Android笔记(六十三) android中的动画——逐帧动画( frame-by-frame animation)
就好像演电影一样,播放实现准备好的图片,来实现动画效果. 逐帧动画需要用到AnimationDrawable类,该类主要用于创建一个逐帧动画,然后我们把这个动画设置为view的背景即可. androi ...
- mybatis的XML中注释需谨慎
报错内容: java.sql.SQLException: Parameter index out of range (3 > number of parameters, which is 2) ...
- web安全及渗透
kali linux是最好的黑客linux渗透发行版,包含许多实用工具. 参考:用于黑客渗透测试的 21 个最佳 Kali Linux 工具 https://linux.cn/article-10 ...