一。Foreman环境:
foreman建好后,系统默认创建了3个环境:production,development,common,
1. production:
在puppet.conf里已经定义其调用的路径,是foreman默认使用的环境,通过foreman-proxy验证后的cliente均默认会进入这个环境
2. development:
在puppet.conf里已经定义其调用的路径,新装的foreman的web界面是看不到,其modules目录下有模块后,通过导入模块才能
将此环境导入到foreman
3. common:
在puppet.conf里没有定义,如果需要用到common这个环境,则可以在puppet.conf里创建其调用的路径,如下:
vi /etc/puppet/puppet.conf,添加以下:
[common]
modulepath = /etc/puppet/environments/common/modules:/etc/puppet/environments/common:/usr/share/puppet/modules
config_version =
新装的foreman的web界面是看不到,其modules目录下有模块后,通过导入模块才能将此环境导入到foreman
二。 建模块:
1. 进入 development 环境的模块目录
# cd /etc/puppet/environments/development/modules
2. 创建"修改root密码"模块的三个组成目录:
# mkdir -p chpasswd/{manifests,templates,files}
注意: 此处的 chpasswd文件夹的名字必须和后面新建的类的名字一致,否则client会报找不到类的错误提示
3. 进入写puppet类的目录:
# cd chpasswd/manifests/
4. 创建init.pp文件:
# touch init.pp,并添加以下文件:
class chpasswd {
user { "root":
password => '$6$6TXhJimPoQrOe52Y$XxFjwJ6s5LZ1',
}
}
5. 检查语法
# puppet parser validate init.pp
6. 客户端模拟执行:
# puppet agent --test --noop
三。 把"修改root密码"模块导入到foreman里面
1. 从“环境”处导入:点击“更多”-》配置-》环境
2. 点击右上角的 “从server1.xxx.com导入”按钮
备注:此处我用了两个环境,development是测试环境,production是生产环境,在这个另个环境里
我均创建了"chpasswd模块",所以截图上foreman的两个环境里都会检测到puppet新建的类
3. 选中,点击更新,并到 puppet类里去查看: