开源自动化部署管理工具Puppet安装

2024-04-06 09:08

本文主要是介绍开源自动化部署管理工具Puppet安装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Puppet是一款开源的工具,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。可以被其他人利用,而忽略公司差异,实现了自动化部署。

环境:

系统:centos5.5
1 首先安装企业Linux(EPEL)yum的仓库的额外的软件包:

#rpm –Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

2 安装centos需要的软件包:

#yum install -y mysql mysql-devel mysql-server ruby ruby-devel ruby-irb ruby-mysql ruby-rdoc ruby-ri

我安装的版本是ruby1.8.5 ,不要安装1.87以上的版本,puppet还不支持。

mysql可以使用自己编译安装的

3 启动mysql:

#service mysqld start

#chkconfig mysqld on

4 下载最近版本的puppet,我用的是编译安装,所以需要先安装facter:

注:它的作用是收集主机的一些资料,比如CPU,主机IP等,facter把收集到值发送给puppet服务器端,服务器端就可以根据不同的条件来对不同的节点机器生成不同的puppet配置文件

#wget http://puppetlabs.com/downloads/facter/facter-latest.tgz

# tar zxvf facter-latest.tgz

# cd facter-1.5.8

# /usr/local/bin/ruby install.rb

5 下载安装puppet主程序

# wget http://puppetlabs.com/downloads/puppet/puppet-2.6.3.tar.gz

# tar zxvf puppet-2.6.3.tar.gz

# cd puppet-2.6.3

# /usr/local/bin/ruby install.rb

6 修改hosts文件

server端

127.0.0.1 localhost.localdomain localhost puppet

192.168.8.56    client.dongwm.com

client端

192.168.8.200   puppet

7 Server端安装与配置

1 拷贝源文件

#mkdir /etc/puppet
#cp conf/auth.conf /etc/puppet/
#cp conf/redhat/fileserver.conf /etc/puppet/
#cp conf/redhat/puppet.conf /etc/puppet/
#cp conf/redhat/server.init /etc/init.d/puppetmaster
#chmod +x /etc/init.d/puppetmaster
#chkconfig –add puppetmaster
#chkconfig puppetmaster on
#mkdir -p /etc/puppet/manifests

2 创建puppet帐号
# puppetmasterd –mkusers(执行中可能会出一些错误,基本上以前安装或创建过puppet用户的原因,执行就是让它自动去 /var/lib/puppet下创建一些目录)

#mkdir /var/lib/puppet/rrd && chown puppet.puppet /var/lib/puppet/rrd
3修改主机名(需要fqdn格式)

#hostname master.dongwm.com

# vi /etc/sysconfig/network

修改为:HOSTNAME=master.dongwm.com

4启动服务

*第一次启动时puppet会自动创建所需的文件,包括一系列证书文件等

我建议使用DEBUG模式,可以看见启动过程:

puppetmasterd -d –no-daemonize -v –trace

8 Client端配置

编译安装同server端

1 复制配置文件
#mkdir /etc/puppet
#cp conf/auth.conf /etc/puppet/
#cp conf/namespaceauth.conf /etc/puppet/
#cp conf/redhat/puppet.conf /etc/puppet/
#cp conf/redhat/client.init /etc/init.d/puppet
#chmod +x /etc/init.d/puppet
#chkconfig –add puppet
#chkconfig puppet on

2 创建puppet帐号
# puppetd –mkusers

#mkdir –r /var/lib/puppet/rrd &&chown puppet.puppet /var/lib/puppet/rrd

3 修改主机名
# hostname client.dongwm.com
# vi /etc/sysconfig/network
修改
HOSTNAME=client.dongwm.com

4 启动服务

/etc/init.d/puppet start

注:当启动puppet时,程序会根据puppet.conf中的配置自动向服务端发起证书验证请求。

puppet.conf的详细完整内容可以使用“puppet –genconfig | less”(master端使用puppetmasterd –genconfig | less)
命令详细查看

5 签名证书

我们在server端查看等待确认的证书:

#puppetca –list

client.okooo.com

全部认证:

#puppetca -s -a
注:也可以在master端的puppet.conf加这样一行:

autosign = true

这样就会自动签证书了。


客户端再请求一次:

#puppetd –test –server master.dongwm.com

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

这是时间不同步的问题:

同步一下时间(两端都执行):

#/usr/sbin/ntpdate time.nist.gov

删除/var/lib/puppet/ssl目录下的文件(或者在/etc/puppet/ssl),重新请求。

OK这次出现的正确的:

info: Caching certificate for client.dongwm.com

info: Caching certificate_revocation_list for ca

info: Caching catalog for client.dongwm.com

info: Applying configuration version ’1290862961′

info: Creating state file /var/lib/puppet/state/state.yaml

安装成功!

FAQ:

安装过程中能够成功签收证书需要注意的是一定要修改一下配置:

1 # hostname client.dongwm.com

2 # vi /etc/sysconfig/network

3#  vi /etc/hosts

 

这篇关于开源自动化部署管理工具Puppet安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/879548

相关文章

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm