2014年1月13日星期一

通过案例了解puppet创建虚拟资源解决资源冲突问题

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
通过案例了解puppet创建虚拟资源解决资源冲突问题  阅读原文»

每日博报 精彩不止一点关闭
通过案例了解puppet创建虚拟资源解决资源冲突问题

通过案例了解puppet创建虚拟资源解决资源冲突问题

虚拟资源是一种用来管理多种配置共同依赖同一资源的方法。如果多个类依赖同一个资源时则可避免写多个资源,也可以解决资源重定义的错误。 虚拟资源经常用于用户管理中,虚拟资源只会被声明一次,但可以运用一次或多次。

要使用虚拟资源是需要在资源声明开头加上字符"@"来使资源虚拟化。然后再使用下面两种方法之一来实例化虚拟资源:

  • "飞船"语法<||>

  • realize函数

更多详情可访问 www.kisspuppet.com www.rsyslog.org

1. 定义两个用户,puppet和root,并将其虚拟化

注意定义虚拟资源必须在全局作用域或者节点作用域中定义,简单的理解,以下目录中site.pp就是全局作用域,包含(site.pp中import了nodes目录),其他模块中的都属于局部作用域。

1.1 在全局作用域中创建对应的pp文件

[root@linuxmaster1poc testing]# tree manifests/
│ ├── puppetclient.pp
│ ├── virtual_group.pp
│ └── virtual_user.pp
1 directory, 4 files

1.2 创建虚拟用户puppet、root、xiaonuo

[root@linuxmaster1poc testing]# vim manifests/nodes/virtual_user.pp
include alluser::puppet,alluser::root
class alluser::puppet{
@user { 'puppet':
ensure => present,
home => '/var/lib/puppet',
shell => '/sbin/nologin',
class alluser::root{
ensure => present,
home => '/root',
shell => '/bin/bash',
class alluser::xiaonuo{
@user { 'xiaonuo':
ensure => present,
uid => '600',
gid => '600',
home => '/home/xiaonuo',
shell => '/sbin/nologin',

1.3 创建虚拟组puppet、root和xiaonuo

[root@linuxmaster1poc testing]# vim manifests/nodes/virtual_group.pp
class allgroup{
include allgroup::puppet,allgroup::root
class allgroup::puppet{
@group { 'puppet':
ensure => present,
name => 'puppet',
gid => '52',
allowdupe => false,
运维平台化saltstack和jinja2模板构建高可用集群配置平台  阅读原文»

每日博报 精彩不止一点关闭
运维平台化saltstack和jinja2模板构建高可用集群配置平台

前言:

最近正在做一个集群配置平台,以前也做过类似的demo,记得是去年做的时候用的是paramiko模块,先说他的连接配置是用ssh,交互也有时用pexpect。在复杂的配置下会经常出问题的。 配置主要是出在正则匹配的方面。

现在到了新公司,第一件是就是重构代码,目的是做成一个全网集群的配置工具,支持nginx、lvs、haproxy多种集群配置的平台。 里面含有流程的自动流转审批,在测试服务器上做测试,配置文件的操作之前的配置,及出问题时候的回滚。

因为新公司的环境是puppet,打算推广下saltstack ! 我还是喜欢saltsatck那种简便的二次开发。

自己现在的思路是:

通过web框架的模板来渲染配置配置,最好是把nginx.conf keepalived.conf 整形到 yaml类似的格式里面。推送到客户端只是get url,通过接口的ip和类型,给你渲染出配置文件,直接下载就行了。

这能说是没招呀~ 哎。。。。 我还是尽量推进下saltsatck吧 ~

下面的集群管理平台,我自己也就写了两天,把前端页面及后端的mysql库做了设计。 我会把后续思路和解决方案更新给大家下。 还没有上线,只是给大家一个样子参考 ~

前端没啥东西,就是写了点表单的验证,及美化的js特效。

wKioL1LSrwvhqTLUAAP_YigDFn0757.jpg

对于集群的参数,做了特定的格式规范 !

wKiom1LSryTTW3E5AAOKH9yeokI259.jpg

特殊说明,这里可以填写一些特殊的需求 !

wKioL1LSr0PyLbBHAAOsh6w7FW0163.jpg

点提交后,会给领导发邮件等待确认~

wKiom1LSr1uCRJ1QAAOaHZOWLbw197.jpg

数据是随便写的 ~

wKiom1LTpS2QdnojAAKS8XHPWaI010.jpg

mysqldb 获取timestamp的出现点问题,大家可以参考下 ~

ValueError: unsupported format character 'm' (0x6d) at index 138
Traceback (most recent call last)

对于%的符号,尤其格式化时间用的多,需要这么搞

FROM_UNIXTIME(unix_timestamp(ltime),"%%m-%%d %%H:%%i")

wKioL1LTt6ij5BNqAALSOwDK3SY134.jpg

明天继续 ~

本文出自 "峰云,就她了。" 博客,谢绝转载!

分享至 一键收藏,随时查看,分享好友!

没有评论:

发表评论