[Linux-Tool] puppet
2019-05-25 本文已影响0人
帅可儿妞
一、安装
-
下载 puppet 的 rpm 包
-
安装
- Master
yum install -y puppet-server puppet
,然后启动puppetmaster:service puppetmaster start
,再检查:netstat -nltp | grep ruby
- Agent:
yum install -y puppet
- 注意,安装好后不要着急启动,修改配置文件后再启动
- Master
-
修改配置文件
- Master
- 修改
/etc/puppet/puppet.conf
,在[master]
标签下- 修改
certname
为Master的主机名
- 修改
- 修改
- Agent
- 修改
/etc/puppet/puppet.conf
,在[agent]
标签下- 修改
certname
为Agent的主机名 - 修改
server
为 puppetmaster 的主机名 - 修改
runinterval
为多长时间从 Master 拉取一次数据
- 修改
- 修改
- Master
-
启动服务
- Master:
/etc/init.d/puppetmaster start
- 验证:
netstat -anltp | grep ruby
,发现有个 8140 的监听端口即可
- 验证:
- Agent 认证连接
- Agent手动发起证书申请请求:
puppet agent -t
- Master 端可以使用命令
puppet cert --list[ --all]
查看有哪些 agent 发起认证 - Master端签发证书:
- 一次性全部认证:
puppet cert sign --all
- 逐个签发:
puppet cert sign <agent-host-name>
- 一次性全部认证:
- Agent再次请求:
puppet agent -t
-
启动 Agent 服务:
service puppet start
- Agent手动发起证书申请请求:
- Master:
-
puppet 工作原理
image.png -
基本语法和资源定义
- 资源:puppet 的操作对象
- 常见的资源:
资源类型 资源描述 file 文件或目录 user 用户 group 组 service 服务 cron 计划任务 exec 命令 package 软件包 yumrepo 软件仓库
-
资源定义格式
type { 'title': attr1 => value1, attr2 => value2, ... }
- type:资源类型,{}中定义了资源的一系列属性
- title:资源标题,不能重复出现
- 特殊属性:
- ensure属性:用来定义资源的目标状态,不同资源的 ensure 值不同;如user的 ensure 设置为present,表示 user 必须存在,也可以设置成absent,表示不存在;但是在service 资源中,ensure 资源往往被设置为stopped 或者running。