Foreman--Puppet类导入

时间:2022-12-10 11:17:08

一。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. 从“环境”处导入:点击“更多”-》配置-》环境

Foreman--Puppet类导入

2. 点击右上角的 “从server1.xxx.com导入”按钮

Foreman--Puppet类导入

备注:此处我用了两个环境,development是测试环境,production是生产环境,在这个另个环境里

我均创建了"chpasswd模块",所以截图上foreman的两个环境里都会检测到puppet新建的类

3. 选中,点击更新,并到 puppet类里去查看:

Foreman--Puppet类导入