Puppet学习之puppet的安装和配置6165金沙总站,配置管理puppet

安装准备

本文的安装与设定信息如下

IP Hostname OS Puppet软件
192.169.31.131 host131 CentOS7.4 Puppet-server 5.4
192.169.31.133 host133 CentOS7.4 Puppet-agent 5.4

3.  连接master的时候出现如下报错:

配置管理工具Puppet入门介绍:1 :安装与设定,配置管理puppet

Puppet是配置管理工具的一种,这篇文章主要介绍一下Puppet的安装与设定。

Master的停止

缺省证书信息

列出当前证书信息,发现有两张证书,其中当前机器host131的和host133,host133前不带+表明此证书未通过审核。

[[email protected] ~]# puppet cert list -all
  "host133" (SHA256) 52:2A:AE:C0:58:47:B1:C3:8E:BC:80:F5:51:71:6C:46:77:58:00:4C:96:61:6D:FA:4E:AD:59:4B:F6:71:78:4E
+ "host131" (SHA256) 0E:2E:2B:22:61:E8:F1:59:3A:E4:92:F9:99:2E:3F:D4:7F:D6:E6:83:21:E0:96:4B:1F:4E:7A:A3:D4:EE:FA:78
[[email protected] ~]#

因为证书host133未通过审核,所以从客户端host133发过来的测试信息未能通过,使用命令对此证书进行审核和确认

[root@host131 ~]# puppet cert sign host133
Signing Certificate Request for:
  "host133" (SHA256) 52:2A:AE:C0:58:47:B1:C3:8E:BC:80:F5:51:71:6C:46:77:58:00:4C:96:61:6D:FA:4E:AD:59:4B:F6:71:78:4E
Notice: Signed certificate request for host133
Notice: Removing file Puppet::SSL::CertificateRequest host133 at '/etc/puppetlabs/puppet/ssl/ca/requests/host133.pem'
[root@host131 ~]# 
[root@host131 ~]# puppet cert list -all
+ "host131" (SHA256) 0E:2E:2B:22:61:E8:F1:59:3A:E4:92:F9:99:2E:3F:D4:7F:D6:E6:83:21:E0:96:4B:1F:4E:7A:A3:D4:EE:FA:78
+ "host133" (SHA256) 68:4B:45:DD:99:C7:F7:ED:25:BB:DC:BD:18:3A:81:8C:EF:9F:1D:3E:FB:1E:2D:73:B3:77:31:DE:46:E4:E1:E5
[root@host131 ~]# 

也可以以采用
service puppetmaster start启动

初始化设定

Agent的配置主要是更改agent上的/etc/puppet/puppet.conf文件的[agent]部分。

Agent/Master VS Stand-alone

Puppet可以作为Agent/Master的模式也可以用于Stand-alone的模式,后者则仅仅作为单机版本工具的使用,可根据情况进行选择。

  1. Agent的配置

什么是Puppet

Puppet是puppetlabs出品的配置管理工具,每年的DORA的DevOps报告就是有puppetlabs牵头做的,puppet作为出色的管理工具,也是可圈可点。通过可读性很好的设定描述信息,可以完成很多复杂的功能,比如如下确保软件wget被安装,用户admin被创建,而不用关系太多具体细节,剩余的交给Agent/Master构成的Puppet来做。

package { 'wget':
  ensure => installed,
}

user { 'admin':
ensure => present,
}

在agent上vim /etc/puppet/puppet.conf 添加如下配置

安装Master

安装Puppet Master需要如下步骤:

  • Step 1: rpm -Uvh
  • Step 2: yum install puppetserver

版本确认

[root@host131 ~]# puppet --version
5.4.0
[root@host131 ~]#

yum install ruby ruby-libs ruby-shadow

重新进行Agent连接

再次进行Agent连接,则发现Agent已经能够正常与Master进行通信了。

[root@host133 ~]# puppet agent --server=host131 --test
Info: Caching certificate for host133
Info: Caching certificate_revocation_list for ca
Info: Caching certificate for host133
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Caching catalog for host133
Info: Applying configuration version '1519038659'
Info: Creating state file /opt/puppetlabs/puppet/cache/state/state.yaml
Notice: Applied catalog in 0.01 seconds
[root@host133 ~]# 

manifests        #puppet脚本主文件目录,site.pp文件必须存在

启动Puppet master

在master所在节点host131,使用如下命令启动master,其中–debug为输出调试信息

[[email protected] ~]# puppet master --no-daemonize --debug
Debug: Applying settings catalog for sections main, master, ssl, metrics
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (ttl = 0 sec)
...

 

安装Agent

安装Puppet Agent需要如下步骤:

  • Step 1:rpm -Uvh
  • Step 2:yum install puppet-agent

版本确认

[root@host133 ~]# puppet --version
5.4.0
[root@host133 ~]#

Puppet基于ruby语言开发的自动化系统配置工具,可以C/S模式或独立运行,支持对所有UNIX及类UNIX系统的配置管理,最新版本也开始支持对Windows操作系统有限的一些管理。Puppet适用于服务器管的整个过程 ,比如初始安装、配置更新以及系统下线。

启动Agent

在agent所在节点host133,尝试连接host133,因为非缺省设定,可通过server=host131传入设定

[[email protected] ~]# puppet agent --server=host131 --test --debug
Debug: Applying settings catalog for sections main, agent, ssl
Debug: Caching environment 'production' (ttl = 0 sec)
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (ttl = 0 sec)
...
Debug: Dynamically-bound port lookup failed; falling back to ca_port setting
Debug: Creating new connection for https://host131:8140
Exiting; no certificate found and waitforcert is disabled
[[email protected] ~]# 

根据提示发现证书设定不正确,所以接下来需要设定服务器侧证书信息

modules            #puppet模块目录

也可以采用service puppet stop来停止。

wget
ftp://ftp.sunet.se/pub/Linux/distributions/yellowdog/yum/6.2/extras/RPMS/epel-release-5-3.noarch.rpm

fileserver.conf   #定义puppet
master文件服务器的配置文件

也可以以采用
service puppetmaster stop停止

4.  连接master的时候出现如下报错:

解决办法:检查机器主机名的设置,以及是否添加进hosts。

10.1.4.213 node1.zhang.com node1

ls -1 /etc/puppet/

yum -y install puppet puppet-server facter

rpm -Uvh epel-release-5-3.noarch.rpm

puppet agent –server=puppet.zhang.com –no-daemonize
–verbose

  1. Master的启动和停止

vim  /etc/hosts添加如下内容:

更改多选项可以使用/etc/rc.d/init.d/puppetmaster –h查看

解决办法:客户端和服务器端时间不同步,SSL连接需要依赖主机上的时间是否正确。执行更新时间的命令:/sbin/ntpdate asia.pool.ntp.org

 

Puppet学习之puppet的安装和配置

刚开始的话, puppet.conf不需要配置就可以满足。

二、Puppet的安装

yum -y install ruby ruby-libs ruby-shadow

  1. Master的配置

 

先来看看puppet主目录下都有什么文件已经每个文件是做什么用的:

/etc/rc.d/init.d/puppetmaster stop

/etc/rc.d/init.d/puppet stop

解决办法:服务器端没有配置hosts域名绑定,在hosts中添加。

需要更改hosts文件,注意hosts要和主机名对应。

err: Could not request certificate: getaddrinfo: Name
or service not known

四、puppet的启动和停止

调试的时候可以采用

1.  连接master的时候出现如下报错:

runinterval = 3600                      
#每隔多久的时间进行自动更新,时间单位为秒

2.   连接master的时候出现如下报错:

auth.conf       #定义puppet
master的acl文件

Agent的启动

  1. Agent的安装

wget
ftp://ftp.sunet.se/pub/Linux/distributions/yellowdog/yum/6.2/extras/RPMS/epel-release-5-3.noarch.rpm

的方式来启动,这样启动我们可以看到agent是如何和master建立连接的。

 

yum -y install puppet facter

第一次启动建议采用puppet master –verbose –no-daemonize方式启动,有助于测试和调试错误,如果采用后面这种方式,你可以看到启动的整个过程,启动过程会做一些初始化的工作,为master创建本地证书认证中心,证书和key。并打开socket等待client的连接。你可以在/etc/puppet/ssl目录看到相关的文件和目录。

/etc/rc.d/init.d/puppetmaster start

         至此如果安装过程不报错的话,puppet已经安装成功了。

五、FAQ

10.1.4.214 node2.zhang.com node2

三、Puppet的简单配置

ssl                     #存放ssl证书的目录

/etc/rc.d/init.d/puppet start

10.1.4.218 puppet.zhang.com puppet

也可以采用service puppet start来启动

Master的启动

err: Could not retrieve catalog from remote server:
certificate verify failed

  1. Agent的启动和停止

Agent的停止

listen = true                         #客户端作为一个服务进行监听,允许其它的机器触发puppet运行允许远程触发puppet的节点配置

dnsdomainname: Unknown host

puppet.conf     #puppet主配置文件

server = puppet.zhang.com        #master服务器的地址

warning: peer certificate won’t be verified in this
SSL session

  1. Master的安装

一、Puppet简介

Puppet的安装方式支持源码安装、yum安装以及ruby的gem安装。官网推荐使用yum来安装puppet,方面以后的升级、管理、维护。Centos可以采用yum来安装,但是Centos的默认源中没有puppet包,因此需要先安装epel包。Epel是企业版Linux附加软件包(Extra
Packages for Enterprise Linux)的缩写,是一个由特别兴趣小组创建、维护并管理的,针对红帽企业版Linux(RHEL)及其衍生发行版(比如CentOS、Scientific Linux)的一个高质量附加软件包项目。

rpm -Uvh epel-release-5-3.noarch.rpm

 

解决办法:服务端还没有返回签发证书,使用puppet cert –list查看

大家要根据实际情况加,我这里是一个master,两个agent。