📅  最后修改于: 2021-01-08 04:58:06             🧑  作者: Mango
在安装Puppet之前,让我们看一下一些先决条件:
在这里,我们将使用两个安装了Ubuntu操作系统的虚拟机,它们的静态IP地址和主机名已正确配置。
在这里,我的虚拟机配置为:
木偶大师:
主机名: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
$ sudo vim /etc/hostname
$ 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主服务器和puppet代理计算机上运行以下命令。
$ wget http://apt.puppetlabs.com/puppetlabs-release-trusty.deb
$ sudo dpkg -i puppetlabs-release-trusty.deb
借助以下命令,使用最新的软件包和存储库更新您的puppet master和puppet代理:
$ sudo apt-get update
充当木偶主机的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
$ sudo apt-get install puppet-common
$ 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客户端。
$ 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
$ sudo apt-get install puppet
$ puppet -V
要么
$ puppet --version
创建一个新文件:
$ 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客户端。
$ 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之间会形成安全链接。
$ 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
# 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 agent --fingerprint
现在,the主机和and代理之间已建立安全连接。
因此,我们已经成功安装并配置了一个Puppet主服务器,并为Puppet代理设置了具有完整功能的Puppet实例的基本配置。