Puppet简易入门

时间:2024-01-10 20:12:56

一、查看官方提供的下载源

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.-.el7.x86_64
nginx-filesystem-1.6.-.el7.noarch
[root@master1 ~]# ps -ef |grep nginx
root : pts/ :: tailf /var/log/nginx/error.log
root : ? :: nginx: master process /usr/sbin/nginx
nginx : ? :: nginx: worker process
nginx : ? :: nginx: worker process
root : pts/ :: grep --color=auto nginx