angela 发表于 2015-9-16 10:46:50

Foreman--Puppet类导入

  一。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,添加以下:
  
          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类里去查看:

  
  
  
  
页: [1]
查看完整版本: Foreman--Puppet类导入