puppet部署三       配置puppet

puppetmster 

2、配置puppet.conf 注意:这个里面配置了两个certname名称,其中[master]中配置的certname是为所有节点认证用的master名称,[agent]中配置的certname是他本身agent的名称,当然不配置默认是和master的名称是一样的。

[[email protected] ~]# cp /etc/puppet/puppet.conf{,.bak}   #备份
[[email protected] ~]# vim /etc/puppet/puppet.conf  #注释已经删除
[main]
    logdir = /var/log/puppet  #默认日志存放路径
    rundir = /var/run/puppet  #pid存放路径
    ssldir = $vardir/ssl #证书存放目录,默认$vardir为/var/lib/puppet
[agent]
    classfile = $vardir/classes.txt
    localconfig = $vardir/localconfig
    server = puppetmaster.kisspuppet.com #设置agent认证连接master端的服务器名称,注意这个名字必须能够被节点解析
 [master]
    certname = puppetmaster.kisspuppet.com  puppetmaster.kisspuppet.com #设置puppetmaster认证服务器名

3、创建site.pp文件

puppet的资源配置文件在服务端的/etc/puppet/manifests目录下,我们需要在该目录下创建一个站点文件site.pp。

site.pp文件是puppet读取所有模块pp文件的开始,在3.0版本以前必须设置,否则服务无法启动。

查看本地证书情况 puppetmaster第一次启动会自动生成证书自动注册自己

这个我们可以在/var/lib/puppet/ssl看到那些证书和key。如下:

ll /var/lib/puppet/ssl

这个目录和/etc/puppet/puppet.conf文件中配置的ssldir路径有关系。

我们也可以查看master端给自己授权的证书文件,如下:

ll /var/lib/puppet/ssl/ca/signed

7.2 agent端申请证书

agent端在第一次连接master端时,会向master端申请证书。如果master端没有授予agent端证书,那么agent端和master端之间的连接是不会建立成功的。

此时agent端会持续等待master端授权证书,并会每隔2分钟去检查master端是否签发证书。

我们现在使用puppet agent –server s.ilanni.com连接master端,如下:

puppet agent –server s.ilanni.com

7.3 master端授权证书

agent端申请证书完毕后,需要我们切换到master端,使用puppet cert命令来对agent端授权证书。

有关puppet cert的使用,我们可以查看pupper cert的帮助信息。如下:

pupper cert

在上图中,puppet cert已经给出如何给一个agent端进行授权证书的例子。

现在我们来查看master端有哪些主机在申请证书,如下:

puppet cert list

通过上图,我们很明显的可以看到c.ilanni.com客户端正在申请证书。

现在我们来给agent端授权证书,使用如下命令:

puppet cert sign c.ilanni.com

注意:如果实际生产环境客户端数量比较多的话,我们可以一次性授权所有证书。如下:

puppet cert sign –all

在master端查看所有已经通过认证的agent端,如下:

puppet cert -all

现在我们再来看看master端给agent端授权的证书文件,如下:

ll /var/lib/puppet/ssl/ca/signed

通过上图,我们可以看出master端授权客户端c.ilanni.com的证书文件是c.ilanni.com.pem。

7.4 查看agent端证书

在master端授权完毕后,我们现在切换到agent端查看授权的证书文件,如下:

ll /var/lib/puppet/ssl/certs

通过上图,我们可以看出agent端的证书文件c.ilanni.com.pem与master端的证书文件是一样的。

7.5 puppet证书问题

在实际的生产环境中,可能会出现已经通过master端认证的agent端主机名被修改或者其他一些误操作,从而导致agent端无法与master端进行正常通信。

当遇到这种情况时,我们一般的处理方法是先删除master端和agent端的相关的认证文件,然后在agent端重新申请证书。

具体操作如下:

agent端,删除/var/lib/puppet/ssl目录,如下:

rm -fr /var/lib/puppet/ssl

master端,删除/var/lib/puppet/ssl/ca/signed目录下的证书文件,如下:

rm -fr /var/lib/puppet/ssl/ca/signed/c.ilanni.com.pem

以上操作完毕后,agent端再次申请证书即可。

[[email protected] ~]# puppet cert --list --all  #带+标示已经注册成功
+ "puppetmaster.kisspuppet.com" (C0:E3:6B:76:36:EC:92:93:4D:BF:F0:8F:77:00:91:C8) (alt names: "DNS:puppet", "DNS:puppet.kisspuppet.com", "DNS:puppetmaster.kisspuppet.com")

查看监听状态 puppetmaster服务开启后,默认监听TCP 8140端口

[[email protected] ~]# netstat -nlatp | grep 8140
tcp        0      0 0.0.0.0:8140                0.0.0.0:*                   LISTEN      1976/ruby           
[[email protected] ~]# lsof -i:8140
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
puppetmas 1976 puppet    5u  IPv4  14331      0t0  TCP *:8140 (LISTEN)
时间: 2024-10-06 00:28:20

puppet部署三       配置puppet的相关文章

Puppet部署:安装puppet server、client

Puppet部署:安装puppet server.client puppet与其他手工操作工具有一个最大的区别就是 puppet的配置具有稳定性,因此你可以多次执行puppet,一旦你更新了你的配置文件,puppet就会根据配置文件来更改你的机器配置,通常每30分钟检查一次. AD:2014WOT全球软件技术峰会北京站 课程视频发布 puppet与其他手工操作工具有一个最大的区别就是 puppet的配置具有稳定性,因此你可以多次执行puppet, 一旦你更新了你的配置文件,puppet就会根据配

Puppet模块(三):puppet模块及file资源

作用:通过puppet模块自动控制客户端的puppet配置,当需要修改客户端的puppet配置时不用在客户端一一设置. 1.服务端配置puppet模块 (1)模块清单 [[email protected] ~]# tree /etc/puppet/modules/puppet/ /etc/puppet/modules/puppet/ ├── files ├── manifests │   ├── config.pp │   ├── init.pp │   ├── install.pp │   ├

puppet部署二         安装puppet

源码安装puppet puppet服务端与客户端的源码安装使用的是同一个软件包,安装步骤一样,只是在配置文件方面有细微的差别. 在下载puppet源码之前,我们还要在master端和agent端创建puppet运行时使用的用户puppet.master端如果不创建的话,master在启动时,会报如下错误: 创建puppet用户,如下: useradd -M -s /sbin/nologin puppet cat /etc/passwd |grep puppet 注意:puppet服务端是以pup

puppet安装和配置

Puuppet是一个开源的新一代的集中化配置管理工具,它由自己所声明的语言表达系统配置,通过客户端与服务端直接的连接,维护着关系库. Puppet是一个跨平台的集中化配置管理系统,它使用自由的描述语言,可管理配置文件.用户.Cron.软件包,系统服务等,Puppet把这些统称为"资源". Puppet是基于Ruby语言并使用Apache协议授权的开源软件,它既能以客户端-服务端(C/S)的方式运行,也能独立运行.客户端默认每30分钟会与服务端确认一次更新,以确保配置的一致性. Pupp

Linux puppet的安装配置部署

一.puppet简介 puppet是一个为实现数据中心自动化管理而设计的配置管理软件,能够管理IT基础设施的整个生命周期:供应(provisioning)配置(configuration).联动(orchestration)及报告(reporting).puppet基于C/S架构,类似于zabbiz,有master与agent节点之分.它是一个开源的(谈不上真正的开源,因为有商业版与社区版之分).新一代的.集中化的配置管理工具,由ruby语言研发,它拥有自己的配置语言(PCL,puppet co

puppet部署与应用

防伪码:忽如一夜春风来,千树万树梨花开. 第十二章 puppet部署与应用 前言:作为一名运维工程师,就需要寻找一款能够降低工作量的工具.那么今天就给大家介绍一批工具,这批工具是"可编程"的,只需要为这批工具写上几行代码,它便会自动完成所有的工作,这批工具就是运维自动化puppet(为什么说是一批工具,因为软件不止一个).Puppet可以针对多台服务器进行统一的操作,例如:软件分发,统一执行脚本,在服务器上写好脚本分发给客户机,客户机就会自动执行,减少了人力及误操作风险.Puppet与

【跟我学Puppet】1.5 Puppet 3.7 使用Hiera定义配置

1. 环境准备 OS:CentOS 6.4 关闭selinux和iptables 部署Puppet:1.0 Puppet 3.7部署 安装Puppet源:http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm 完成PuppetMaster/Agent的部署,证书签署... Hiera是一个key/value配置数据的查找工具,可以用来方便的配置特殊节点配置数据. 2. 使用Hiera   a) 安装hiera 如果安装的是Pupp

puppet安装与配置

puppet是一个为实现数据库中心自动化管理而设计的配置管理软件.基于c/s架构.puppet的服务器端保存着所有的对客户端服务器的配置代码,在puppet里面叫做manifest. 客户端下载manifest之后,可以根据manifest对服务器进行配置,例如软件包管理,用户管理和文件管理等等.这样就把日常的系统管理任务代码化了,代码化的好处是可以分享,保存,避免重复劳动,也可以快速恢复以及快速的大规模部署服务器.同时,manifest可以的根据客户端服务器的配置情况(硬件和软件)来动态生成.

运维利器rshell,功能强大似Ansible/Puppet/Chef,配置简单如Putty!

#运维利器rshell,功能强大似Ansible/Puppet/Chef,配置简单如Putty! rshell:多Linux主机远程批量执行Shell命令和上传下载文件(跨平台,无依赖,免安装) 源码获取,https://github.com/luckywinds/rshell,喜欢请加星,多谢. ##背景 在多主机运维场景下,最核心最常用的操作就是批量远程执行命令.上传和下载文件,通常大家会想到Ansible.Puppet.Chef等自动化工具,但是又都对工具自身的部署配置抓狂,又对Putty