博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Puppet 实验六 多环境配置
阅读量:7083 次
发布时间:2019-06-28

本文共 4003 字,大约阅读时间需要 13 分钟。

日,搞了很久才发现,puppet 多环境配置在3.6版本 前后配置不同,我的书是旧的,软件是新的,掉坑里都不知道怎么爬上来

3.6之前

[master]

# modulepath=

# manifest=

environments = production, development, testing

[production]

modulepath=/etc/puppet/environments/production/modules/

manifest=/etc/puppet/environments/production/manifests/site.pp

[development]

modulepath=/etc/puppet/environments/development/modules/

manifest=/etc/puppet/environments/development/manifests/site.pp

[testing]

modulepath=/etc/puppet/environments/testing/modules/

manifest=/etc/puppet/environments/testing/manifests/site.pp

3.6 之后

[master]

environmentpath = $confdir/environments

$confdir一般指/etc/puppet这个目录

在多环境配置目录下为每个环境准备一个子目录

ENVIRONMENT_NAME/

manifests/

site.pp

modules/

额外配置文件:

文件系统:fileserver.conf,默认配置可用,不需要调整

认证(URL):auth.conf:在该文件中,method为find表示读请求,method为save为其他请求,默认没有指定任何操作,则默认表示拒绝所有,如最后的path /

先创建目录

mkdir -pv /etc/puppet/environments/{development,production,testing}/manifests

mkdir -pv /etc/puppet/environments/{development,production,testing}/modules/memcached/{manifests,files,templates}

vim /etc/puppet/puppet.conf

[master]

environmentpath = $confdir/environments

查看section读取的环境目录

puppet config print environmentpath --section master

准备redis模块

#testing环境

vim /etc/puppet/environments/testing/modules/memcached/manifests/init.pp

class memcached($maxmemory='64'){

package{'memcached':

ensure => latest,

provider => yum,

}

file{'/etc/sysconfig/memcached':

ensure => file,

content => template('memcached/memcached.erb'),

owner => 'root',

group => 'root',

mode => '0644',

}

service{'memcached':

ensure => running,

enable => true,

}

Package['memcached'] -> File['/etc/sysconfig/memcached'] ~>Service['memcached']

}

#development环境

vim /etc/puppet/environments/development/modules/memcached/manifests/init.pp

class memcached($maxmemory='128'){

package{'memcached':

ensure => latest,

provider => yum,

}

file{'/etc/sysconfig/memcached':

ensure => file,

content => template('memcached/memcached.erb'),

owner => 'root',

group => 'root',

mode => '0644',

}

service{'memcached':

ensure => running,

enable => true,

}

Package['memcached'] -> File['/etc/sysconfig/memcached'] ~>Service['memcached']

}

production环境

vim /etc/puppet/environments/production/modules/memcached/manifests/init.pp

class memcached($maxmemory='256'){

package{'memcached':

ensure => latest,

provider => yum,

}

file{'/etc/sysconfig/memcached':

ensure => file,

content => template('memcached/memcached.erb'),

owner => 'root',

group => 'root',

mode => '0644',

}

service{'memcached':

ensure => running,

enable => true,

}

Package['memcached'] -> File['/etc/sysconfig/memcached'] ~>Service['memcached']

}

准备memcached配置模板文件

vim /etc/puppet/environments/production/modules/memcached/templates/memcached.erb

PORT="11211"

USER="memcached"

MAXCONN="1024"

CACHESIZE="<%= @maxmemory %>"

OPTIONS=""

把该模板复制到其他两个环境下

cp /etc/puppet/environments/production/modules/memcached/templates/memcached.erb /etc/puppet/environments/development/modules/memcached/templates/memcached.erb

cp /etc/puppet/environments/production/modules/memcached/templates/memcached.erb /etc/puppet/environments/testing/modules/memcached/templates/memcached.erb

在不同环境下定义site.pp

vi /etc/puppet/environments/development/manifests/site.pp

node 'puppetagent'{

class {'memcached':

maxmemory => '512',

}

}

vi /etc/puppet/environments/testing/manifests/site.pp

node 'puppetagent'{

include memcached

}

vi /etc/puppet/environments/production/manifests/site.pp

node 'puppetagent'{

include memcached

}

在客户端配置文件agent里指定当前机器为testing环境

vim /etc/puppet/puppet.conf

[agent]

environment = testing

查看当前操作环境

puppet config print environment

#开发

puppet agent --no-daemonize -v --environment=development

#生产环境

puppet agent --no-daemonize -v --environment=production

#测试环境

puppet agent --no-daemonize -v --environment=testing

客户端测试下

puppet agent --test --server puppetmaster --environment=testing

rpm -qa | grep mem

cat /etc/sysconfig/memcached

可以发现测试环境memcached配置为64m

puppet agent --test --server puppetmaster --environment=production

cat /etc/sysconfig/memcached

环境参数的更新可以更新客户端的配置

转载地址:http://eorml.baihongyu.com/

你可能感兴趣的文章
Qt学习之路(2):Hello, world!
查看>>
CSS3阴影 box-shadow的使用和技巧总结
查看>>
easyui datagrid 初始化排序按钮不显示的问题
查看>>
5分钟GET一场清华大数据讲座实战应用案例干货
查看>>
测者的测试技术手册:自动的自动化框架EvoSuite集成Cobertura得到可视化的代码覆盖报告...
查看>>
集成LinearLayout时遇到的问题
查看>>
单利模式的好处
查看>>
Microsoft Silverlight 官方版
查看>>
centos6.8 python2.6.6 升级到2.7.4
查看>>
闲话选择排序算法
查看>>
高度用百分比 css
查看>>
魔窗--H5网页唤醒APP
查看>>
willMoveToParentViewController和didMoveToParentView
查看>>
微信小程序发送请求
查看>>
xUtils框架介绍(三)
查看>>
不用这块地
查看>>
事务知识
查看>>
互联网协议入门
查看>>
什么是高内聚、低耦合?
查看>>
ElasticSearch中使用reiver-jdbc从数据库导入数据
查看>>