mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
Update 20150806 Installation Guide for Puppet on Ubuntu 15.04.md
This commit is contained in:
parent
2df47a9d28
commit
f8fbc01efa
@ -11,6 +11,8 @@ puupet服务器IP:44.55.88.6,主机名: puppetmaster
|
||||
puppet代理节点IP: 45.55.86.39 ,主机名: puppetnode
|
||||
|
||||
我们要在代理节点和服务器这两天机器的hosts里面都添加上相应的条目,使用root或是sudo访问权限来编辑/etc/hosts文件,命令如下:
|
||||
|
||||
|
||||
# nano /etc/hosts
|
||||
|
||||
45.55.88.6 puppetmaster.example.com puppetmaster
|
||||
@ -21,6 +23,8 @@ puppet代理节点IP: 45.55.86.39 ,主机名: puppetnode
|
||||
### 2. 用NTP更新时间 ###
|
||||
|
||||
puppet代理节点所使用系统时间必须要准确,这样可以避免代理证书出现问题。如果有时间差异,那么证书将过期失效,所以服务器与代理节点的系统时间必须互相同步。我们使用NTP(Network Time Protocol,网络时间协议)来同步时间。在服务器与代理节点上面分别运行以下命令来同步时间。
|
||||
|
||||
|
||||
# ntpdate pool.ntp.org
|
||||
|
||||
17 Jun 00:17:08 ntpdate[882]: adjust time server 66.175.209.17 offset -0.001938 sec (译者注:显示类似的输出结果表示运行正常)
|
||||
@ -69,6 +73,8 @@ puppet代理节点所使用系统时间必须要准确,这样可以避免代
|
||||
**提示**: 在安装的时候可能会报错**Warning: Setting templatedir is deprecated.请查看 http://links.puppetlabs.com/env-settings-deprecations (at /usr/lib/ruby/vendor_ruby/puppet/settings.rb:1139:in `issue_deprecation_warning')** 不过不用担心,忽略掉它就好,我们只需要在设置配置文件的时候把这一项disable就行了。
|
||||
|
||||
如何来查看puppet master是否已经安装成功了呢?非常简单,只需要使用下面的命令查看它的版本就可以了。
|
||||
|
||||
|
||||
# puppet --version
|
||||
|
||||
3.8.1
|
||||
@ -85,6 +91,8 @@ puppet代理节点所使用系统时间必须要准确,这样可以避免代
|
||||
# nano /etc/apt/preferences.d/00-puppet.pref
|
||||
|
||||
在新创建的文件里面添加以下内容
|
||||
|
||||
|
||||
# /etc/apt/preferences.d/00-puppet.pref
|
||||
Package: puppet puppet-common puppetmaster-passenger
|
||||
Pin: version 3.8*
|
||||
@ -94,6 +102,8 @@ puppet代理节点所使用系统时间必须要准确,这样可以避免代
|
||||
|
||||
### 5. 配置 Puppet Master###
|
||||
Puppet master作为一个证书发行机构,所有代理证书的请求都将由它来处理。首先我们要删除所有在软件包安装过程中创建出来的ssl证书。本地默认的puppet证书在/var/lib/puppet/ssl。因此我们只需要使用rm命令来移除这些证书就可以了。
|
||||
|
||||
|
||||
# rm -rf /var/lib/puppet/ssl
|
||||
|
||||
现在来配置这些证书,在创建puppet master证书的时候,需要用使用DNS能查找到的代理节点名称。使用文本编辑器来修改服务器的配置文件puppet.conf
|
||||
@ -117,6 +127,8 @@ Puppet master作为一个证书发行机构,所有代理证书的请求都将
|
||||
|
||||
|
||||
在这我们需要注释掉templatedir 这行使它失效。然后在文件的结尾添加下面的信息。
|
||||
|
||||
|
||||
server = puppetmaster
|
||||
environment = production
|
||||
runinterval = 1h
|
||||
@ -129,6 +141,8 @@ Puppet master作为一个证书发行机构,所有代理证书的请求都将
|
||||
编辑完成后保存退出。
|
||||
|
||||
使用下面的命令来生成一个新的证书。
|
||||
|
||||
|
||||
# puppet master --verbose --no-daemonize
|
||||
|
||||
Info: Creating a new SSL key for ca
|
||||
@ -189,6 +203,8 @@ Puppet master作为一个证书发行机构,所有代理证书的请求都将
|
||||
|
||||
我们已经准备好了puppet的服务端,现在来为代理节点安装客户端。这里我们要给每一个需要管理的节点安装客户端,并且确保这些节点能够通过DNS查询到服务器主机。下面将 puppetnode.example.com作为代理节点安装客户端
|
||||
在代理节点服务器上,使用下面的命令下载puppet实验室提供的软件包。
|
||||
|
||||
|
||||
# cd /tmp/
|
||||
# wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb\
|
||||
|
||||
@ -204,9 +220,12 @@ Puppet master作为一个证书发行机构,所有代理证书的请求都将
|
||||
2015-06-17 00:54:42 (162 KB/s) - ‘puppetlabs-release-trusty.deb’ saved [7384/7384]
|
||||
|
||||
在ubuntu 15.04上我们使用debian包管理系统来安装它,命令如下:
|
||||
|
||||
|
||||
# dpkg -i puppetlabs-release-trusty.deb
|
||||
|
||||
使用apt包管理命令更新一下本地的软件源
|
||||
|
||||
# apt-get update
|
||||
|
||||
通过远程仓库安装
|
||||
@ -224,6 +243,7 @@ Puppet客户端默认是不启动的。这里我们需要使用文本编辑器
|
||||
### 9. 使用APT工具锁定Agent(客户端)版本 ###
|
||||
|
||||
和上面的步骤一样为防止随意升级造成的配置文件混乱,我们要使用apt工具来把它锁定。具体做法是使用文本编辑器创建一个文件 **/etc/apt/preferences.d/00-puppet.pref**
|
||||
|
||||
# nano /etc/apt/preferences.d/00-puppet.pref
|
||||
|
||||
在新建的文件里面加入如下内容
|
||||
@ -245,6 +265,7 @@ Puppet客户端默认是不启动的。这里我们需要使用文本编辑器
|
||||
|
||||
|
||||
假定服务端可用,我们的客户端应该是可以和它相互连接通信的。如果不行我们需要使用完整的主机域名puppetmaster.example.com
|
||||
|
||||
[agent]
|
||||
server = puppetmaster.example.com
|
||||
certname = puppetnode.example.com
|
||||
@ -278,16 +299,16 @@ Puppet客户端默认是不启动的。这里我们需要使用文本编辑器
|
||||
第一次运行的时候,代理节点会生成一个ssl证并且给服务端发送一个请求。在主服务器给代理节点服务器证书签名之后,主服务器才能和代理服务器通信并且控制代理服务器。
|
||||
|
||||
在主服务器上使用下面的命令来列出当前的证书请求
|
||||
# puppet cert list
|
||||
|
||||
# puppet cert list
|
||||
"puppetnode.example.com" (SHA256) 31:A1:7E:23:6B:CD:7B:7D:83:98:33:8B:21:01:A6:C4:01:D5:53:3D:A0:0E:77:9A:77:AE:8F:05:4A:9A:50:B2
|
||||
|
||||
因为只设置了一台代理节点服务器,所以我们将只看到一个请求。
|
||||
注意有没有“+”号在前面,代表这个证书有没有被签名。
|
||||
|
||||
使用**puppet cert sign**到**hostname**这个命令来签署这个签名请求。
|
||||
# puppet cert sign puppetnode.example.com
|
||||
|
||||
# puppet cert sign puppetnode.example.com
|
||||
Notice: Signed certificate request for puppetnode.example.com
|
||||
Notice: Removing file Puppet::SSL::CertificateRequest puppetnode.example.com at '/var/lib/puppet/ssl/ca/requests/puppetnode.example.com.pem'
|
||||
|
||||
@ -302,16 +323,16 @@ Puppet客户端默认是不启动的。这里我们需要使用文本编辑器
|
||||
如果我们想移除一个主机,或者想重建一个主机然后再添加它。下面的例子里我们将展示如何删除puppet master上面的一个证书。使用的命令如下:
|
||||
|
||||
# puppet cert clean hostname
|
||||
|
||||
Notice: Revoked certificate with serial 5
|
||||
Notice: Removing file Puppet::SSL::Certificate puppetnode.example.com at '/var/lib/puppet/ssl/ca/signed/puppetnode.example.com.pem'
|
||||
Notice: Removing file Puppet::SSL::Certificate puppetnode.example.com at '/var/lib/puppet/ssl/certs/puppetnode.example.com.pem'
|
||||
|
||||
如果我们想查看所有的签署和未签署的请求,使用下面这条命令
|
||||
|
||||
# puppet cert list --all
|
||||
|
||||
+ "puppetmaster" (SHA256) 33:28:97:86:A1:C3:2F:73:10:D1:FB:42:DA:D5:42:69:71:84:F0:E2:8A:01:B9:58:38:90:E4:7D:B7:25:23:EC (alt names: "DNS:puppetmaster", "DNS:puppetmaster.example.com")
|
||||
|
||||
|
||||
### 12. 部署代理节点Puppet清单 ###
|
||||
|
||||
当配置并完成主puppet清单后,现在我们需要署代理节点服务器清单。要应用并加载主puppet清单,我们可以在代理节点服务器上面使用下面的命令
|
||||
@ -328,6 +349,7 @@ Puppet客户端默认是不启动的。这里我们需要使用文本编辑器
|
||||
这里像我们展示了主清单如何去管理一个单一的服务器。
|
||||
|
||||
如果我们打算运行的puppet清单与主puppet清单没有什么关联,那么需要使用puppet apply 到相应的路径。它仅适用于该代理节点。
|
||||
|
||||
# puppet apply /etc/puppet/manifest/test.pp
|
||||
|
||||
### 13. 配置特殊节点清单 ###
|
||||
@ -335,6 +357,7 @@ Puppet客户端默认是不启动的。这里我们需要使用文本编辑器
|
||||
如果我们想部署一个清单到某个特定的节点,我们需要进行以下操作。
|
||||
|
||||
在主服务器上面使用文本编辑器编辑/etc/puppet/manifest/site.pp
|
||||
|
||||
# nano /etc/puppet/manifest/site.pp
|
||||
|
||||
添加下面的内容进去
|
||||
|
Loading…
Reference in New Issue
Block a user