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脚本,前者解决一些简单的任务, ...
随机推荐
- Django组件之auth
一.什么是Auth模块 Auth模块是Django自带的用户认证模块,默认使用 auth_user 表来存储用户数据. 二.使用方法 1.创建超级用户 python3 manage.py create ...
- docekr安装mysql,redis,git和maven 脚本
编写脚本 images_install.sh #!/bin/bash # author:qiao # 安装脚本 # reids:3.2(自启) mysql:5.7(自启)或者JDK:1.8 tomca ...
- NIO开发Http服务器(1):项目下载、打包和部署
最近学习了Java NIO技术,觉得不能再去写一些Hello World的学习demo了,而且也不想再像学习IO时那样编写一个控制台(或者带界面)聊天室.我们是做WEB开发的,整天围着tomcat.n ...
- python-socket并发-解决tcp粘包问题
粘包问题 tcp协议才会有粘包问题,udp协议没有粘包问题. 因为tcp协议是将需要传输的内容先读入缓存里,然后在一点点传,受接收方字符限制,并不能一次传输完成,第二次就会将第一次剩下的部分+第二次的 ...
- iOS - 静态库的导入和头文件路径的设置
开发过程中,免不了要用到一些第三方或者是别人写好的一些Demo,这时就经常会用到别人写的一些静态库(.a文件)和n多个头文件(.h文件),这些文件不是简单地把它们拉到自己的工程里面就行的,还要设置一些 ...
- vue.js相关教程
Vue.js——60分钟快速入门 http://www.cnblogs.com/keepfool/p/5619070.html
- javascript原型链[图]
- 分享一个vue项目“脚手架”项目的实现步骤
搭建缘由 源于公司每次新启动一个由多人协同开发的项目都由负责人初始化项目之后,每个人再去从私服pull一下项目才开始开发.但是每次初始化工程都是一步步的造轮子,一个个依赖去安装,新建一个个不同功能的文 ...
- 用java代码实现构造目录树
怎么用java代码实现上面这样的目录树? 首先创建数据表 每条数据记录自己的id以及父节点的id 然后进入java代码部分: public String directory(String author ...
- out string
示例 当希望方法返回多个值时,声明 out 方法很有用.使用 out 参数的方法仍然可以将变量用作返回类型(请参见 return),但它还可以将一个或多个对象作为 out 参数返回给调用方法.此示例使 ...