如何在Ubuntu 14.04中安装Puppet Master和Client

时间:2020-03-05 15:32:31  来源:igfitidea点击:

Puppet是一个配置管理系统,它使我们可以定义IT基础结构的状态,然后自动执行正确的状态。
无论我们是仅管理几台服务器还是数千台物理和虚拟机,Puppet都能自动执行系统管理员通常手动执行的任务,从而节省了时间和精力,使系统管理员可以处理可带来更大业务价值的项目。
它确保一致性,可靠性和稳定性。
它还促进了系统管理员与开发人员之间的紧密协作,从而可以更有效地交付更干净,设计更好的代码。

1.配置主机

我们有2台机器:

IP地址为192.168.1.102和主机名的主控Puppet:puppetmaster
IP地址为192.168.1.103和主机名的Puppet客户端:puppetclient

现在,将这两行添加到两台机器上的/etc/hosts中

nano /etc/hosts

192.168.1.102 puppetmaster.example.com puppetmaster

192.168.1.103 puppetclient.example.com puppetclient

除了客户端和服务器都必须具有时间同步之外,还将在客户端和服务器计算机中按以下方式进行处理:

ntpdate pool.ntp.org ; apt-get update && sudo apt-get -y install ntp ; service ntp restart

2.安装Puppet软件包(客户端和主服务器)

$sudo apt-get update

客户

$sudo apt-get install puppet

主服务器

$sudo apt-get install puppet puppetmaster

现在在服务器上定义列表。

$sudo nano /etc/puppet/manifests/site.pp
package {

‘apache2′:

ensure => installed

}

service {

‘apache2′:

ensure => true,

enable => true,

require => Package['apache2']

}

package {

‘vim’:

ensure => installed

}

# Create “/tmp/testfile" if it doesn’t exist.

class test_class {

file { “/tmp/testfile":

ensure => present,

mode => 600,

owner => root,

group => root

}

}

# tell puppet on which client to run the class

node puppetclient {

include test_class

}

通过此配置,Puppet Master 将部署apache的安装,并将创建具有上述所有权的/tmp/testfile。

现在启动Puppet master:

sudo /etc/init.d/puppetmaster start

在Puppet客户端中定义服务器:

编辑/etc/puppet/puppet.conf并添加

sudo nano /etc/puppet/puppet.conf
puppet]

server = puppetmaster.example.com

# Make sure all log messages are sent to the right directory

# This directory must be writable by the puppet user

logdir=/var/log/puppet

vardir=/var/lib/puppet

rundir=/var/run

现在,运行下面的命令并开始部署。

# puppetd -server puppetmaster.example.com -waitforcert 60 -test

返回服务器并检查谁在等待

# puppetca --list

现在回到“客户端”,我们将看到:

从客户端检查测试文件是否已创建,并且具有与主服务器上定义的所有权相同的所有权600

$sudo ls -ltr /tmp/testfile

检查apache是否与

$ps -ef | grep apache2

重新加载Puppet客户端

# puppetd -v -o

现在检查apache是否已安装并正在运行

ps -ef | grep apache2