Puppet 实验六 多环境配置

日,搞了很久才发现,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}

4d9b4dca21584814a430f22b52602518

vim /etc/puppet/puppet.conf

[master]

environmentpath = $confdir/environments

查看section读取的环境目录

puppet config print environmentpath --section master

8379ce1ff4d24afc8b9fac6bbf97514d

准备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

3cfafa276c5b44a4ad40e9b23def65e7

rpm -qa | grep mem

70ba6a99302d43019cedf750040bcf3c

cat /etc/sysconfig/memcached

bfa93b729e4f43ec807844173b29fb65

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

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

cat /etc/sysconfig/memcached

b8459871ee974e42bfbaa7f97b504988

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值