龙空技术网

Linux基础架构学习 - Puppet配置管理 - Day08

运维阁 250

前言:

现在大家对“ubuntuhaproxy安装配置”大体比较重视,我们都想要了解一些“ubuntuhaproxy安装配置”的相关内容。那么小编同时在网上收集了一些对于“ubuntuhaproxy安装配置””的相关知识,希望咱们能喜欢,朋友们快快来了解一下吧!

Puppet软件要求

Puppet有两种软件:一种是官方软件包存储库,另一种是第三方为特定发行版提供软件包。 如果您使用流行的Linux发行版,最好使用Puppet包存储库,因为Puppet测试并支持那里的代码。 您可以在上查看官方Puppet软件包的可用性。

在撰写本文时,Puppet Open Source支持以下操作系统:

RedHat 5,6,7和兼容的操作系统,如CentOS和Oracle Linux Debian和Ubuntu 6,7,10.04,12.04和14.04 Fedora 19和20 Suse Linux Enterprise Server,11及更高版本 Gentoo Linux Mandriva企业服务器4 ArchLinux的 FreeBSD 4.7及更高版本 OpenBSD 4.1及更高版本

Puppet还需要Ruby; 你的Ruby版本可能决定了Puppet的兼容性。 选择的Ruby版本对兼容性和性能有影响。 较新版本的Puppet在更高版本的Ruby上运行得更快。 表5-2包含Ruby兼容性图表。

有关Puppet软件要求的更多信息,请访问。

安装Puppet

Puppet安装至少可以通过以下不同方式完成:

大多数Linux发行版都在其存储库中包含Puppet。 对于CentOS,如果您安装EPEL存储库,则可以下载Puppet。

Puppet Labs维护自己的YUM存储库,也可用于下载Puppet()。 你可以下载Puppet的源代码并编译它() Puppet提供可以下载和安装的二进制文件。 亚马逊机器图像包括Puppet。

使用EPEL

启用CentOS 6的EPEL存储库。我在这里包含Remi存储库,因为它有用:

$ wget  wget  sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm

确保已安装存储库:

$ ls -1 /etc/yum.repos.d/epel* /etc/yum.repos.d/remi.repo/etc/yum.repos.d/epel.repo/etc/yum.repos.d/epel-testing.repo/etc/yum.repos.d/remi.repo

编辑Remi存储库配置文件:

$ sudo vim /etc/yum.repos.d/remi.repo

Remi将启用值从零更改为1:

name=Les RPM de remi pour Enterprise Linux $releasever - $basearch#baseurl=
使用Puppet Labs存储库

安装CentOS 6的Puppet Labs存储库。如果您需要其他操作系统,请参阅:

$ sudo rpm –Uvh 
使用YUM

安装存储库后,您现在可以安装服务器和客户端部分:

$ sudo yum install puppet puppet-server facter -y

如果要在其他主机上安装客户端:

$ sudo yum install puppet faceter -y

通过rubygems安装

另一种方法是使用Ruby来安装Puppet:

# yum install rubygems -y# gem install puppet facter
模块化架构

典型的企业有数千个节点,并且具有优化的Puppet配置对于成功部署Puppet至关重要。 Puppet目录可以编译并应用于客户端的速度决定了推送更改的频率和频率。例如,如果清单以一种方式构建,而另一种方式是30秒,则在服务器上应用Puppet配置需要一分钟,然后组织应评估其清单。优化的Puppet运行速度取决于您的清单结构布局方式和管理的资源数量。

构建Puppet的一种可能方法是将Puppet清单分解为更小的组件。 Puppet执行从文件site.pp开始。在site.pp中,您可以根据类型对节点进行分类,例如使用主机名。清单5-10显示了Git服务器的site.pp中的条目。主机名的格式为git01.example.com。在这个例子中,我们指示Puppet,如果客户端提供的facter显示客户端名称是这种格式,则将执行移动到名为role的模块,并在模块中查看git.pp文件。

清单5-10。 site.pp文件

# Git servernode /^git\d+\.example\.com$/ { include ::role::git}

角色模块的目录树结构如清单5-11所示。清单5-11。 模块化架构的目录树结构

Puppet在这种模块化架构中的工作流程如图5-2所示,从site.pp开始,以mysql模块结束。

除了使用角色和配置文件划分清单之外,设计模块化架构还需要在负载均衡器前面安装大量Puppet主机以进行故障转移,如图5-3所示。

HAProxy()是一个开源负载均衡器,可用于Puppet容错。 替代方法不适用于HAProxy,而是使用nginx()或Apache,如图5-4所示。

注意

Puppet Open Source附带一个基本的Ruby的WEBrick库Web服务器。 这不适用于十多个客户。 您应该用Apache Passenger替换它。

对于跨站点模块化架构 - 例如,加利福尼亚(CA)和德克萨斯(TX)之间,只需复制pod架构,如图5-5所示。

如果要在负载均衡器上使用缓存,请使用nginx。 HAProxy和Apache不适合作为Puppet 3.x的缓存解决方案。

其他资源包括:

Apache / Passenger with Puppet()

基于角色和配置文件的部署()

Scaling Puppet()

多个Puppet大师()

乘客()

把它放在一起

资源,清单,类,依赖关系以及许多其他术语都会让Puppet感到困惑。本节通过提供入门指南的分步指南,简化了将所有内容组合在一起的过程。

第1步:在服务器上安装Puppet master。

第2步:在同一台服务器上安装Puppet客户端。

第3步:在/ etc / puppet / manifests中创建site.pp文件。

步骤4:在site.pp文件中,拥有单个资源,例如添加用户。

步骤5:修改/etc/puppet/puppet.conf文件并设置主/代理。

第6步:运行puppet agent -tv。

步骤7:批准服务器上的客户端证书。

步骤8:在/ etc / puppet / modules中安装单个模块。

步骤9:使用该模块在/ etc / puppet / manifests中添加另一个清单。

步骤10:使用角色在清单中创建不同的分组。

步骤11:使用角色在角色模块中创建实际角色。

步骤12:创建配置文件模块。

步骤13:定义要在角色中使用的配置文件。

步骤14:用puppet agent -tv再次测试。

第15步:如果事情正常,那么您可以开始添加更多Puppet客户端并添加更多清单。

关于Puppet,第10章中列出了许多故障排除步骤。 如果您遇到错误,请参阅它们。

在哪里获得帮助

Puppet已存在多年; Puppet的知识库非常广泛。一些可用的支持选项包括以下内容:

Apress出版的Pro Puppet是Puppet的优秀指南()

Puppet用户Google网上论坛()

Puppet IRC频道()

Puppet Enterprise客户支持()

Puppet Q&A()

Puppet文档()

Puppet开源主页()

Puppet FAQ()

结论

Puppet是非常强大的配置管理软件。如果您管理十几个系统,使用它可以使您的生活更轻松。最终用户社区在Puppet中非常活跃。每年都有PuppetConf,它举办培训和其他感兴趣的会议。在您开始使用Puppet并熟悉它之后,您应该考虑为Puppet社区做出贡献。编写模块是回馈社区的简单方法。

随着云基础架构的出现,您可以使用Puppet部署到亚马逊,谷歌云,Rackspace以及其他云提供商。从配置到管理,Puppet可以成为您的朋友。

标签: #ubuntuhaproxy安装配置