Saltstack系列5:Saltstack之pillar组件
pillar组件pillar也是Saltstack最重要的组件之一,其作用是定义与被控主机相关的任何数据,定义好的数据可以被其他组件使用,如模板、state、API等。在pillar中定义的数据与不同业务特性的被控主机相关联,这样不同被控主机只能看到自己匹配的数据,因此pillar安全性很高,适用于一些比较敏感的数据,这也是区别于grains最关键的一点,如定义不同业务组主机的用户id、组id、读
Saltstack系列4:Saltstack之Grains组件
grains说明grains是Saltstack最重要的组件之一,grains的作用是手机被控主机的基本信息,这些信息通常都是一些静态类的数据,包括CPU、内核、操作系统、虚拟化等,在服务器端可以根据这些信息进行灵活定制,管理员可以利用这些信息对不同业务进行个性化定制。例:(janja模板){% if grains['os'] == '
Saltstack系列3:Saltstack常用模块及API
说明salt '*' sys.list_modules #列出当前版本支持的模块API原理是通过调用master client模块,实例化一个LocalClient对象,再调用cmd()方法来实现的。以下API实现test.ping的示例:(其他API调用只需要改变cmd即可)import salt.client
Saltstack系列2:Saltstack远程执行命令
命令命令格式:salt '<操作目标>' <方法>[参数]例:salt 'wx' cmd.run 'free -m' #查看被控主机内存使用情况常用参数针对<操作目标>,Saltstack提供了多种方法对被控主机(id)进行过滤。下面列举出常用具
python 详解re模块
正则表达式的元字符有. ^ $ * ? { [ ] | ( ).表示任意字符[]用来匹配一个指定的字符类别,所谓的字符类别就是你想匹配的一个字符集,对于字符集中的字符可以理解成或的关系。^ 如果放在字符串的开头,则表示取非的意思。[^5]表示除了5之外的其他字符。而如果^不在字符串的开头,则表示它本身。具有重复功能的元字符:* 对于前一个字符重复0到无穷次对于前一个字符重复1到无穷次?对于前一个字
Salt-Formulas的使用
Saltstack自0.17.x版本开始引进Formulas的概念,旨在通过简化State和集成数据来实现State的友好管理。根据SALT FORMULAS的官方文档,在完成手动添加formula目录后,formula应该提供一些默认的配置而立即可用。如果需要进一步的配置,大部分的formulas可以通过Pillar数据进行配置,可以参考每个Formula仓库的pillar.example文件查
salt-master命令详解
**salt-master命令**命令行官网学习网站:http://docs.saltstack.cn/ref/cli/index.htmlsalt salt-call salt-cp salt-key salt-master salt-minion salt-run salt-unity一、salt常用命令salt 该命令执行
Salt Highstate数据结构定义
作者言这篇文档详细解释了SLS文件中,每个部分的名称与含义,以及SLS中的数据处理后的数据结构。我只是SaltStack的初学者,如果文中有错误的地方,请不吝赐教。在学习的过程,我做了一些实验,犯了不少错,积累了一些经验,对SaltStack的运行也有一定了解,如果有什么问题,或是不太理解的地方,非常欢迎留言交流!Salt State TreeTop fileSalt State系统的入口文件,其
Salt Pillar
作者言Salt的网站上有两篇关于Pillar的文档(一,二),其中一篇内容很少,我觉得写成一篇文章更合适。本文的逻辑结构没有参照官方文档,而是根据我自己对Pillar的理解组织内容,希望能够把这个概念解释清楚。文中的示例代码来自官方文档。我只是SaltStack的初学者,如果文中有错误的地方,请不吝赐教。 在学习的过程,我做了一些实验,犯了不少错,积累了一些经验,对SaltStack的运行也有一定
Python之 Virtualenv简明教程
virtualenv通过创建独立Python开发环境的工具, 来解决依赖、版本以及间接权限问题. 比如一个项目依赖Django1.3 而当前全局开发环境为Django1.7, 版本跨度过大, 导致不兼容使项目无法正在运行, 使用virtualenv可以解决这些问题.virtualenv创建一个拥有自己安装目录的环境, 这个环境不与其他虚拟环境共享库, 能够方便的管理python版本和管理pytho
Flask之 安装与HelloWorld
安装Flask首先我们来安装Flask。最简单的办法就是使用pip。pip install flask然后打开一个Python文件(app.py),输入下面的内容并运行该文件。然后访问localhost:5000,我们应当可以看到浏览器上输出了Hello Flask!。from flask import Flaskapp = Flask(__name__)@app.route('
Django之 HelloWorld
1、C:\Users\andy>django-admin startproject sundyblog ## 创建项目 C:\Users\andy>cd sundyblog2、C:\Users\andy\sundyblog>python manage.py startapp blog ##创建模块3、编程 (编辑 views.p
Python 入门级报错处理
问题1:Missing parentheses in call to 'print'原因:因为Python2.X和Python3.X不兼容。我安装的是Python3.X,但是我试图运行的却是Python2.X 的代码。所以上面的语法在python3中是错误的。在python3中,你需要将print后面的语句加括号,正确的写法:print ("hello world&quo
Css之 间距初始化
粗暴初始化:* {margin:0;padding:0;border:0px none;}优化初始化:/*css reset code *//**** 文字大小初始化,使1em=10px *****/body {font-size:62.5%;} /* for IE/Win */html>body {font-size:10px;} /* for everything else *//*字体
Python之 操作 MySQL 数据库
什么是MySQLdb?MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。安装 Python MySQLdb 模块linux版本:(配置好yum源)pip install MySQL-pythonyum install MySQL-python如何加载MySQLdb?为了用DB-API编写My
python之 自动补全 tab
1、在python中运行命令sys.path查看python路径>>> import sys>>> import tabTraceback (most recent call last):File "<stdin>", line 1, in <module>ImportError: No module named ta
python之 文件读与写
模式 描述r 以读方式打开文件,可读取文件信息。w 以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容a 以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建r+ 以读写方式打开文件,可对文件进行读和写操作。 ## r+时,如果不先f.read(),则新写入的内容...
python之 正则表达式
简介Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。Python 1.5之前版本则是通过 regex 模块提供 Emacs 风格的模式。Emacs 风格模式可读性稍差些,而且功能也不强,因此编写新代码时尽量不要再使用 regex 模块。正则表达式(或 RE)是一种小型的、高度专业化的编程语言,在Python中它内嵌...
python之 数据类型判定与类型转换
一、 判断数据类型0、type(x)type()可以接收任何东西作为参数――并返回它的数据类型。整型、字符串、列表、字典、元组、函数、类、模块,甚至类型对象都可以作为参数被 type 函数接受。>>> type(1) <type 'int'>>>> li = []>>> type(li) <type 'list'>>>> import odbchelper>>> type(odbchelp...
python 之 python3内置函数
一. 简介 python内置了一系列的常用函数,以便于我们使用,python英文官方文档详细说明:点击查看, 为了方便查看,将内置函数的总结记录下来。 二. 使用说明 以下是Python3版本所有的内置函数:1. abs() 获取绝对值1 >>> abs(-10)2 103 >>> abs(10)4 105 >>> ...