一、查看官方提供的下载源
https://docs.puppet.com/guides/puppetlabs_package_repositories.html
二、 选择对应系统的下载源
因为本机是CentOS 7.1,故选择YUM源
https://yum.puppetlabs.com/
三、 安装Puppet
# wget https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
# rpm -ivh puppetlabs-release-el-7.noarch.rpm
# yum install puppet -y
# puppet --version
3.8.7
四、 Puppet配置文件介绍
Puppet的主配置文件均放到/etc/puppet目录下,3.8.7版本有以下几个文件
auth.conf modules puppet.conf
其中:
puppet.conf是Master守护进程的主配置文件,定义了Master的运行环境,启动加载文件等信息。守护进程在启动前会根据这个文件进行预检,只要预检成功才能启动
守护进程。
auth.conf主要用来定义Agent访问Master上目录的权限。如果没有权限控制的话,Agent可以访问Master服务器上的所有资源。
五、 安装nginx包并启动nginx服务
安装nginx包,可先通过puppet resource命令生成相关的模板,然后再对其进行编辑。
[root@master1 ~]# puppet resource package nginx
package { 'nginx':
ensure => 'absent',
}
[root@master1 ~]# puppet resource service nginx
service { 'nginx':
ensure => 'stopped',
enable => 'false',
}
其中,puppet resource package是生成安装包的模板,puppet resource service是生成服务的模板
最后,nginx包的配置文件如下:
package { 'nginx':
ensure => 'present',
}
service { 'nginx':
ensure => 'running',
}
在本地应用该配置文件
# puppet apply nginx.pp
Notice: Compiled catalog for master1.localdomain in environment production in 0.56 seconds
Notice: /Stage[main]/Main/Package[nginx]/ensure: created
Notice: /Stage[main]/Main/Service[nginx]/ensure: ensure changed 'stopped' to 'running'
Notice: Finished catalog run in 5.76 seconds
查看nginx包是否安装以及服务是否启动
[root@master1 ~]# rpm -qa |grep nginx
nginx-1.6.3-9.el7.x86_64
nginx-filesystem-1.6.3-9.el7.noarch
[root@master1 ~]# ps -ef |grep nginx
root 3094 3070 0 13:14 pts/2 00:00:00 tailf /var/log/nginx/error.log
root 3423 1 0 13:16 ? 00:00:00 nginx: master process /usr/sbin/nginx
nginx 3424 3423 0 13:16 ? 00:00:00 nginx: worker process
nginx 3425 3423 0 13:16 ? 00:00:00 nginx: worker process
root 3432 1536 0 13:18 pts/0 00:00:00 grep --color=auto nginx
Puppet 学习系列:
相关阅读:
有关Puppet agent端三种备份恢复方案探讨研究
选择更安全的方式注册你的Puppet节点
通过配置SSH深刻理解Puppet的语法及工作机制
Puppet利用Nginx多端口实现负载均衡
CentOS(5和6)下Puppet的C/S模式实例