puppert部署一

puppet简介

puppet是一种基于ruby语言开发的Lnux、Unix、windows平台的集中配置管理系统。它使用自有的puppet描述语言,可管理配置文件file、用户user、cron任务、软件包、系统服务等系统实体。

puppet把这些系统实体称之为资源,puppet设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。

puppet依赖于C/S(客户端/服务器)的部署架构。它需要在puppet服务器上安装puppet-server软件包(以下简称master),在需要管理的目标主机上安装puppet客户端软件(以下简称agent)。

当agent连接上master后,定义在master端的配置文件会被编译,然后在agent上运行。每个agent默认30分钟会连接一次master,确认配置信息的更新情况。但是这种方式在很多场景下不是很符合系统管理员的要求,所以很多系统管理员也会将agent通过crontab(任务计划)来管理,这样会更加灵活一些。

二、puppet优点

puppet的语法允许你创建一个单独的脚本,用来在你所有的目标主机上建立一个用户。所有的目标主机会依次使用适合本地系统的语法来解释和执行这个模块。如果这个配置是在Red Hat服务器上执行的话,建立用户使用useradd命令,如果这个配置是在FreddBSD服务器上执行的话,则使用adduser命令。

puppet另外一个卓越的地方就是它的灵活性。源于开源软件的天性,你可以自由地获得puppet的源代码。如果你遇到问题并且有能力处理的话,你可以修改或加强puppet的代码使其适用于你的环境,然后解决这个问题。

三、puppet安装部署前准备工作。

主机时间同步

为了减少在实验过程中不必要的麻烦,我们需要对所有主机(包括服务器和客户端)进行时间同步。即服务器与客户端的时间相差不能超过秒级。

执行更新时间的命令:/sbin/ntpdate asia.pool.ntp.org

修改主机名

因为安装 puppet 时会把主机名写入证书,同时客户端和服务端之间通信需要这个证书。所以需要修改服务器与客户端的主机名。

要是主机名永久生效的话,需要修改/etc/sysconfig/network文件。如下:

cat /etc/sysconfig/network

本次实验,我们就不搭建DNS服务器,直接通过修改服务端与客户端的hosts文件来达到各自解析域名的目的。如下:

cat /etc/hosts

192.168.199.247 s.ilanni.com

192.168.199.248 c.ilanni.com

 关闭iptables和selinux

环境准备

puppet的安装可以分为源码安装和RPM安装,但是无论哪一种安装方法,我们都需要在安装之前对其进行几点需要说明。

4.1 puppet安装说明

1、由于puppet是采用ruby语言开发,所以无论是源码还是RPM方式安装puppet,我们都必须要先安装ruby语言环境

2、puppet从2.7版本以后,就需要hiera的支持。所以也必须安装hiera。

3、在前面章节中,我们说明了puppet是一个配置管理系统,而管理的资源,都是系统的实体。但是这些实体,是如何来的呢?这就需要我们安装另外一个资源收集软件—facter。

facter主要用来收集主机的一些信息,比如:CPU、主机IP等。facter把这些收集的信息发送给puppet服务器端,服务器端就可以根据不同的条件来对不同的节点机器生成不同的puppet配置文件。

facter也是ruby语言开发的

安装ruby

ruby的安装比较简单,我们在此使用是yum进行安装。如下:

yum -y install ruby

我们可以查看ruby的帮助信息,如下:

ruby -h

ruby安装完毕后,我们来查看其生成的文件。如下:

rpm -ql ruby

除此之外,我们还要安装ruby-rdoc这个软件包。该软件包主要用于查看ruby的帮助文档。如下:

yum -y install ruby-rdoc

 安装facter

facter我们可以从puppet官网下载,如下:

http://downloads.puppetlabs.com/facter/

建议yum安装 yum  install facter

安装完成后,

我们在执行facter命令后,会显示facter收集的相关信息。如下:

facter

安装hiera

hiera主要用于控制一些agent经常变化的数值,在puppet2.7以后的版本必须要安装。如果不安装的话,我们在安装puppet时,系统会提示如下错误:

Could not load hiera; cannot install

yum  install hiera

但是在安装hiera之前,我们必须安装额外的yum源,否则系统会提示找不到该软件包。

该yum源,我们可以puppet官网查看到。如下:

https://docs.puppetlabs.com/guides/puppetlabs_package_repositories.html#for-red-hat-enterprise-linux-and-derivatives

按照puppet官网的方法进行安装。如下:

rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm

yum源配置完毕后,我们现在来安装hiera。如下:

yum -y install hiera

以上安装完毕后,我们就可以正式安装puppet。


时间: 2024-11-01 11:52:37

puppert部署一的相关文章

L14.1 puppert master,agent 应用(1)

puppert master,agent 应用 1,puppet C/S架构原理. puppet是基于c/s架构的.服务器端保存着所有对客户端服务器的配置代码,在puppet里面叫做manifest. 客户端下载manifest之后,可以根据manifest对服务器进行配置,例如软件包管理,用户管理和文件管理等等. 如上图所示,puppet的工作流程如下:(1)客户端puppetd调用facter,facter探测出主机的一些变量,例如主机名,内存大小,ip地址等.pupppetd 把这些信息通

深入详解美团点评CAT跨语言服务监控(一) CAT简介与部署

前言: CAT是一个实时和接近全量的监控系统,它侧重于对Java应用的监控,除了与点评RPC组件融合的很好之外,他将会能与Spring.MyBatis.Dubbo 等框架以及Log4j 等结合,支持PHP.C++.Go等多语言应用,基本接入了美团点评上海侧所有核心应用.目前在中间件(MVC.RPC.数据库.缓存等)框架中得到广泛应用,为美团点评各业务线提供系统的性能指标.健康状况.监控告警等,在微服务监控领域也是非常有用的一套组件.支撑这美团每天450亿的消息,50TB的数据监控,应用于 700

CAT简介与部署

前言: CAT是一个实时和接近全量的监控系统,它侧重于对Java应用的监控,除了与点评RPC组件融合的很好之外,他将会能与Spring.MyBatis.Dubbo 等框架以及Log4j 等结合,支持PHP.C++.Go等多语言应用,基本接入了美团点评上海侧所有核心应用.目前在中间件(MVC.RPC.数据库.缓存等)框架中得到广泛应用,为美团点评各业务线提供系统的性能指标.健康状况.监控告警等,在微服务监控领域也是非常有用的一套组件.支撑这美团每天450亿的消息,50TB的数据监控,应用于 700

微信小程序——豆瓣电影——(2):小程序运行部署

Demo 预览 演示视频(流量预警 2.64MB) GitHub Repo 地址 仓库地址:https://github.com/zce/weapp-demo 使用步骤 将仓库克隆到本地: bash $ git clone https://github.com/zce/weapp-demo.git weapp-douban --depth 1 $ cd weapp-douban 打开微信Web开放者工具(注意:必须是0.9.092300版本) 必须是0.9.092300版本,之前的版本不能保证正

Spring Boot 热部署

需要在pom.xml文件中加如下代码: 1 <dependencies> 2 <dependency> 3 <groupId>org.springframework.boot</groupId> 4 <artifactId>spring-boot-devtools</artifactId> 5 <optional>true</optional> 6 </dependency> 7 </depe

Centos7.2部署.Net Core2.0 WebApi

部署前准备 1.VisualStudio2017+.netcore2.0SDK 2.Centos7.2 3.SecureCRT,Xftp(根据自己喜好) 创建WebApi项目 修改Program.cs中的BuildWebHost方法为(不改也可,core默认使用Kestrel作为Server) public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseKestrel()

eclipse部署tomcat修改项目访问路径(虚拟路径)

原文参考: http://www.educity.cn/wenda/147993.html http://blog.163.com/java_zf/blog/static/19926038420129240314546/ tomcat部署web项目(eclipse自动部署项目到tomcat,访问URL中不包含部署名) 最近项目中需要把项目部署到tomcat中,并且访问路径中不包含不署名,且想实现Eclipse中的自动部署,扒了好久资料,最终实现了自己的需求,呵呵,如下: 1. 把项目contex

配置resin web方式部署项目

写在前面,推荐下载resin4.0.47版本.其它版本没有测试 最近打算做一个小项目,然后容器选用了resin.想通过web提交war文件的方式 进行部署,更新代码也方便. 试了resin最新的版本(目前最新版本为4.0.53),提交war文件到webapps下面都是.tmp文件.百度google一通还是没找到解决办法. 看了下公司用的resin版本,选择4.0.47.下载后发现没最新版本的上传问题. 通过web提交war文件方式步骤如下: 步骤一:修改resin.properties.推荐配置

weblogic部署war

[HTTP:101216]Servlet: "DispatcherServlet" failed to preload on startup in Web application: "Ldzc.war". org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.neusoft.biz.Impl.BookBizImpl] for bean with n