使用 apt 包管理命令更新一下本地的软件源: # apt-get update 现在我们就可以安装 puppetmaster-passenger 了 # apt-get install puppetmaster-passenger , puppetmaster.example.com 编辑完成后保存退出。 puppetmaster at '/var/lib/puppet/ssl/certificate_requests/puppetmaster.pem'Notice: Starting Puppet master :F0:E2:8A:01:B9:58:38:90:E4:7D:B7:25:23:EC (alt names: "DNS:puppetmaster", "DNS:puppetmaster.example.com ", "DNS:puppetmaster.example.com") 13.
server = master certname = node [master] certname = master [root@master puppet]# # 启动puppetmaster 服务 systemctl start puppetmaster systemctl enable puppetmaster systemctl status puppetmaster # 查看本地证书情况 # puppetmaster第一次启动会自动生成证书自动注册自己 [root@master puppet]# tree /var/lib/puppet/ssl/ /var/lib/puppet/ssl localconfig = $vardir/localconfig server = master #指向puppetmaster端 certname = node #设置自己的certname # 开启puppet服务 systemctl start puppet systemctl enable puppet Node端向Master端发起认证 # 通过调试模式启动节点向Puppetmaster
通常在puppetmaster端模块里的lib库中添加,然后在puppet.conf中添加选项pluginsync=true即可,格式为ruby文件。 4.1、创建模块facts [root@puppetmaster ~]# cd /etc/puppet/environments/kissprd/environment/modules/ [root@puppetmaster => Package['setup'], } notify { " Hardware-Clock: ${::hwclock}": } #添加一个通知,这里只是测试,没有实际意义 } 4.3、在puppetmaster 端的puppet.conf中添加选项pluginsync [root@puppetmaster kissprd]# vim /etc/puppet/puppet.conf [main] logdir /ssl pluginsync = true #添加插件选项 ... 4.4、在所有节点puppet.conf中添加pluginsync(通过在puppet模块中添加实现) [root@puppetmaster
服务器端为puppetmaster,客户端为puppetclient.client和master之间是基于ssl和证书的,需要注册。Puppet同步后会保持状态,默认30分钟重新检测同步一次。 4)服务器把结果记录日志 3、puppetmaster的配置:分模块配置结构和目录结构两部分 模块配置中可以创建许多应用模块,每一个应用模块必须有一个入口,文件(主配置文件)init.pp文件,可以只有这一个文件也可以包含其他文件 service ntpd start chconfig ntpd on 2、搭建puppetmaster服务器 1)规划主机名 vim /etc/sysconfig/network 重启计算机 2)Puppetmaster作为ntp客户端的配置 yum -y install ntp (如果安装了,请忽略) ntpdate 192.168.1.40 3)安装ruby 7)启动puppet主程序 service puppetmaster start 注明:puppetmaster 默认端口tcp 8140 3、搭建puppetclient(先配置client1
start 设为自动开机 [root@Master-node ~]# chkconfig puppet on [root@Master-node ~]# chkconfig puppetmaster [root@Master-node ~]# /etc/init.d/puppetmaster restart Stopping puppetmaster: [ OK ] Starting puppetmaster: [ OK ] 重启后,puppet会给自己自动签发一个本地证书 [master] reports = store, http reporturl = http://huanqiu.puppet.com:80/reports/upload 重启puppetmaster 服务 [root@Master-node ~]# /etc/init.d/puppetmaster restart 这时候可以直接用 http://ip 访问puppet Dashboard
Puppet把这些信息使用SSL连接发送给服务器端 2) 服务器端的puppetmaster通过fast工具分析检测客户端的主机名,然后找到项目的主配置文件manifest里面对应的node配置 如果文件被删除了或者ssh服务关闭了,puppet下次执行时(默认30分钟)会重新创建该文件或者启动SSH服务 3、 项目环境 主机 操作系统 IP地址 主要软件 Puppetmaster 2.7.21.tar.gz Facter-1.7.1.tar.gz NTP server Centos6.5 192.168.31.224 4、 项目实施 1、 搭建puppetmaster 打开ntp的配置文件添加下面两行 其作用是当/etc/ntp.conf中定义的server都不可用时,将使用local时间作为NTP服务提供给NTP客户端 启动NTP服务,并设置为开机自启 二、Puppetmaster 启动puppet主程序 2、 搭建puppetclient 首先配置puppetclient1,步骤如下: 1) 规划服务器主机名 添加一下几行 确保可以通过域名ping同puppetmaster
cert --list 显示没有授权的客户端 puppet cert --sign agent.puppet.com 再次运行启动命令正常,则分别开启服务 /etc/init.d/puppetmaster start chkconfig puppetmaster on /etc/init.d/puppet start chkconfig puppet on
puppet #pid存放路径 ssldir = $vardir/ssl #证书存放目录,默认$vardir为/var/lib/puppet [master] certname = puppetmaster.kisspuppet.com puppetmaster.kisspuppet.com #设置puppetmaster认证服务器名 启动puppet systemctl start puppetmaster 3、minion安装 ssl [agent] classfile = $vardir/classes.txt localconfig = $vardir/localconfig server = puppetmaster.kisspuppet.com #指向puppetmaster端 certname = agent1_cert.kisspuppet.com #设置自己的certname名 启动puppet systemctl start `puppet queue` #队列进程 实例操作 启动 [root@localhost]# /etc/init.d/puppetmaster start 认证: 客户端发送请求
安装puppetmaster-passenger包: apt install puppetmaster-passenger 默认的Puppet安装可以启动Apache并将其配置为在与Puppet相同的端口上侦听 CentOS7,请apache2在此示例中更改httpd): systemctl stop apache2 通过运行确保您拥有最新版本的Puppet: puppet resource package puppetmaster puppet/puppet.conf [main] dns_alt_names=puppet,puppet.example.com 启动Puppet master: systemctl start puppetmaster 如果puppetmaster服务无法启动,请检查端口是否尚未使用: netstat -anpl | grep 8140 Puppet Agent 安装Puppet Agent 在运行Ubuntu 16.04
是否由Docker 公司及其指定厂商开发的镜像 是否自动构建 --- 表示这个镜像是由 Docker Hub 自动构建的 从上面查询的结果中选择一个镜像进行拉取,docker pull jamtur01/puppetmaster 这条命令将会下载 jamtur01/puppetmaster镜像到本地。 在上图所示的 docker commit 命令中,指定了要提交修改过的容器ID(可以通过 docker ps -l -q 命令得到刚刚创建的容器 ID),以及一个镜像仓库和镜像名,这里是 jamtur01/puppetmaster 可以使用 docker images jamtur01/puppetmaster 命令查看刚刚创建的镜像。 接着列出了想要提交的容器ID, 最后指定了 jamtur01/puppetmaster ,并为其打上了 webserver 的tag 标签。
portage_sandbox_t groupadd_t kpropd_tpasswd_t updpwd_tchfn_t cupsd_t gssd_t httpd_t slapd_t sshd_t udev_t virtd_t puppetmaster_trestorecond_t
如果上述的测试启动没有问题,可中止当前的启动,正式启动服务了 [root@node1 manifests]# service puppetmaster start Starting puppetmaster
Puppet把这些信息使用SSL连接发送给服务器端; 2、服务器端的puppetmaster通过fast工具分析检测客户端的主机名,然后找到项目的主配置文件manifest里面对应的node配置,并对该部分内容进行解析
→PuppetMaster统一指导。
pulseaudio.xml syncthing-gui.xml docker-registry.xml irc.xml murmur.xml puppetmaster.xml
ntp openV** pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster
puppetserver# 配置puppet.confsudo tee /etc/puppetlabs/puppet/puppet.conf << EOF[master]dns_alt_names = puppet,puppetmaster.example.comcertname = puppetmaster.example.comserver = puppetmaster.example.comenvironment = productionruninterval = 30mEOF install puppet-agent# 配置puppet.confsudo tee /etc/puppetlabs/puppet/puppet.conf << EOF[agent]server = puppetmaster.example.comcertname
ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster
postgresql.xml │ ├── privoxy.xml │ ├── proxy-dhcp.xml │ ├── ptp.xml │ ├── pulseaudio.xml │ ├── puppetmaster.xml ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster
分别启动puppet服务(注意服务端和客户端的iptables防火墙最好关闭,如果开启的话,要记得开放puppet端口8140的访问) 服务端 [root@puppet01 ~]# /etc/init.d/puppetmaster cat /etc/puppet/autosign.conf #创建自动注册配置文件,下面表示对所有主机的注册进行签收 * [root@puppet01 ~]# /etc/init.d/puppetmaster