📜  puppet安装

📅  最后修改于: 2021-01-08 04:58:06             🧑  作者: Mango

木偶安装

在安装Puppet之前,让我们看一下一些先决条件:

先决条件

在这里,我们将使用两个安装了Ubuntu操作系统的虚拟机,它们的静态IP地址和主机名已正确配置。

  • 一台虚拟机用于配置了静态IP地址的Puppet Master。
  • 一个虚拟机用于配置了静态IP地址的Puppet Client。

在这里,我的虚拟机配置为:

木偶大师:

主机名:puppetServer

IP地址:192.168.56.101

人偶代理:

主机名:puppetClient

IP地址:192.168.56.103

我们可以通过ifconfig命令查看为虚拟机配置的IP:

$ ifconfig -a


删除防火墙规则

首先,从两个虚拟机(即Puppet Master和Puppet Agent)删除防火墙规则。大多数Linux发行版中可用的默认防火墙是iptables。在两个VM上运行以下命令:

$ sudo iptabels -F
$ sudo /sbin/iptables-save


编辑主机

  • 现在,我们需要在主节点和代理节点上配置/ etc / hosts和etc / hostname文件,以便它们能够相互通信。
$ sudo vim /etc/hostname


  • 在Puppet服务器和Puppet客户端计算机上编辑/ etc / hosts文件。您可以使用任何编辑器。
$ sudo vim /etc/hosts

在PuppetServer上,输入系统的IP地址和主机名。

192.168.56.101  puppetServer

在PuppetClient计算机上,输入您的puppet代理的IP地址和主机名。我们还需要指定您的人偶主机的IP地址和为其指定的主机名。

192.168.56.103  puppetClient
192.168.56.101  puppetServer

添加存储库

  • 由于Puppet不在标准的Ubuntu发行版本存储库中,因此我们需要添加Puppet Labs提供的自定义存储库。

在puppet主服务器和puppet代理计算机上运行以下命令。

$ wget http://apt.puppetlabs.com/puppetlabs-release-trusty.deb


$ sudo dpkg -i puppetlabs-release-trusty.deb


更新包

借助以下命令,使用最新的软件包和存储库更新您的puppet master和puppet代理:

$ sudo apt-get update


在Puppet Master上启动NTP

充当木偶主机的PuppetServer应该具有准确的系统时间。您可能应该使用NTP服务来设置确切的系统时间。在您的puppetServer中使用以下命令来启用NTP服务器:

$ apt-get -y install ntp
$ service ntp restart

您可以通过以下命令检查状态:

$ service ntp status

木偶大师安装

  • 现在,我们将安装木偶程序包,它将获取所有必要的先决条件和要求。

要安装puppet master,请在您的puppetServer中运行以下命令:

$ sudo apt-get install puppetmaster


  • 输出显示成功安装了木偶大师及其运行的服务。要验证木偶的版本,请使用以下命令:
$ puppet -V

要么

$ puppet --version

  • 使用以下命令安装Puppet common:
$ sudo apt-get install puppet-common

  • 现在我们必须锁定人偶版本的升级,因为这会在升级人偶时妨碍配置。在执行系统更新时,它不会更改Puppet。我们可以通过使用以下配置创建一个新文件来进行这些设置:
$ sudo vim /etc/apt/preferences.d/00-puppet.pref

在文件中添加以下配置:

# /etc/apt/preferences.d/00-puppet.pref
Package: puppet puppet-common puppetmaster-passenger
Pin: version 5.4*
Pin-Priority: 501


现在,在运行设备更新时,它不会更新人偶。因此,让我们在以下步骤中继续安装Puppet客户端。

  • 现在,我们将更改人偶配置文件。在编辑器中打开puppet服务器的puppet.conf文件,并按如下所示配置其参数。
$ sudo vim /etc/puppet/puppet.conf

在[main]和[master]下添加新行并保存:

[main]
ssldir = /var/lib/puppet/ssl
logdir = /var/log/puppet
rundir = /var/run/puppet

[master] 
certname = puppetServer

将所需的更改添加到配置文件后,重新启动人偶主服务。

$ service puppetmaster stop
$ service puppetmaster start

木偶客户端安装

  • 由于我们已经安装了所有基本要求,因此现在只需在puppetClient Ubuntu计算机上运行一个用于安装puppet代理的命令即可,该命令将与Puppet主服务器(即puppetServer Ubuntu计算机)进行交互。
 $ sudo apt-get install puppet

  • 要检查人偶的安装版本,请使用以下命令:
$ puppet -V

要么

$ puppet --version
  • 现在,按照与Puppet主服务器相同的步骤进行操作。我们必须锁定木偶的版本,以便在操作系统更新期间不会引起任何问题。

创建一个新文件:

$ sudo vim /etc/apt/preferences.d/00-puppet.pref

并在文件中添加以下配置:

# /etc/apt/preferences.d/00-puppet.pref
Package: puppet puppet-common puppetmaster-passenger
Pin: version 5.4*
Pin-Priority: 501

现在,在运行设备更新时,它不会更新人偶。因此,让我们在以下步骤中继续配置Puppet客户端。

  • 现在,我们将更改人偶配置文件。在编辑器中打开puppet客户端的puppet.conf文件,并按如下所示配置其参数。
$ sudo vim /etc/puppet/puppet.conf

注释掉[master]配置,并在[main]和[agent]下添加新行并保存:

[main]
ssldir = /var/lib/puppet/ssl
vardir = /var/lib/puppet
logdir = /var/log/puppet
rundir = /var/run/puppet

[agent] 
server=puppetServer

  • 启动人偶代理服务。
$ service puppet start

建立安全连接

人偶代理请求人偶主证书以进行人偶主和人偶代理通信。因为在成功初始化Puppet客户端之后,它将在接受来自Master puppet服务器的任何管理指令之前检查Puppet主服务器并发送证书请求。

一旦Puppet Master发送了证书,Puppet Agent就会生成自己的证书。然后,它要求Puppet Master签署此证书。在Master签署此证书后,Puppet Master和Puppet Agent之间会形成安全链接。

  • 要在puppet master中生成CA证书,请转到root用户并在puppetServer VM中运行以下命令:
$ sudo -i

上面的命令将允许用户切换到root用户。

现在,在PuppetServer上执行以下命令:

# puppet master --no-daemonize --verbose

上面的命令将创建包含适当的DNS名称的CA证书和一个人偶主证书。

我们可以忽略此警告消息。一旦收到“通知:启动Puppet主版本5.4.0”消息,请按ctrl + c,因为我们现在无法启动Puppet主版本。

  • 现在,启动并启用人偶主服务。
# puppet resource service puppetmaster ensure=running

# puppet resource service puppetmaster enable=true

  • 现在,将证书签名请求从人偶代理发送到人偶主服务器。
# $ puppet -t

  • 在puppetServer中,我们需要签署puppet代理请求的证书。要获取证书列表,请在puppetServer计算机上运行以下命令:
# puppet cert list

在这里,“ puppetclient.blr0.datrium.com”是为PuppetClient计算机自动生成的DNS名称。

要签署人偶代理请求的证书,请执行以下命令:

# puppet cert sign puppetclient.blr0.datrium.com

  • 签署请求的证书后,启动人偶代理。要启动并启用人偶代理,请运行以下命令:
# puppet resource service puppet ensure=running
# puppet resource service puppet enable=true

  • 通过在Puppet客户端计算机上运行以下命令,我们还可以在客户端木偶计算机上查看证书的指纹:
$ puppet agent --fingerprint

现在,the主机和and代理之间已建立安全连接。

因此,我们已经成功安装并配置了一个Puppet主服务器,并为Puppet代理设置了具有完整功能的Puppet实例的基本配置。