puppet

puppet三板斧:资源、类、模板
与saltstack的对比。
介绍、基础、实战、进阶
1、puppet是一个开源的跨平台的集中化的配置管理工具,发布于2005,目前最新版本为6.3。puppet是基于ruby语言的。在2012年的时候,puppet与Openstack整合。
2、目前puppet已拥有300+客户,包括twitter、oracle、Google、RedHat,国内有新浪、阿里巴巴、腾讯、百度、小米、豆瓣等。
3、puppet管理一台主机的整个生命周期,包括初始化安装、升级、维护、服务迁移。在puppet世界中,一台主机的每个生命周期内的每个动作都被抽象成一个资源。我们需要维护一台主机上的每个资源。
4、puppet的组织结构:


image.png

5、puppet基本结构:


image.png

6、puppet是如何工作的:
image.png

定义:使用Puppet特定的语言定义基础配置信息。通常我们把这些信息写在Modules中。
模拟:在配置执行之前检测代码,但不真正执行。
执行:按定义的配置自动部署。检测并记录下所发生变化的部分。
报告:将期待的变化、实际发生的变化及任何修改发送给报告系统。
7、puppet的数据流走向:
image.png

image.png

image.png

--所有的交互过程都是建立在签发证书的前提下执行的。
--Puppet通信都采用SSL安全加密协议,以保障所有数据传输的安全性。
8、证书申请,客户端安装完后执行puppet apply --test指令后,自动向服务端申请证书
。如果服务端一直不签发证书,客户端会每2分钟请求一次。
9、服务端、客户端的配置文件都是puppet.conf,有三个部分,通用配置main、客户端配置agent、服务端配置master。
fileserverconfig:配置服务端目录的访问权限。
manifestdir:读取的入口文件。
reportdir:客户端信息的目录
reports:报告方式,log日志


image.png

runinterval:时间
image.png

image.png

10、site.pp文件的形式:exec、package资源。import xx.pp导入其他文件。node xx{}节点
image.png

11、namespaceauth.conf 名称空间
image.png

ACL:auth.conf
image.png

image.png

autosign.conf设置自动发配证书
image.png

fileserver.conf
image.png

12、安装上,支持window7、server2003和其他大部分linux系统。
安装ruby和Puppet,开放8140端口,
--noop 看下语法有没有问题
13、根据环境设置:
image.png

image.png

14、资源、类、模板:资源。
file、service、package、exec、user、group、cron、notify:支持50+种资源,常用的这8种。增删改文件目录、启动停止服务、安装软件、执行指令、用户组管理、定时任务管理
image.png

有控制语法:if、case、变量赋值等。
file1->service1
15、多个资源组合成一个类,多个类组成一个模块。
16、模板:ERB模板,根据服务器硬件信息制定不同配置。
vim nginx.conf.erb
worker_processes <%= @processorcount %>;
17 Puppet forge模块
image.png

18节点
image.png

image.png

19、Facter的作用就是获取服务器信息,包括主机名、IP地址、内存大小、操作系统等。
20、
yum install -y ruby-devel ruby-libs rubygems
rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
服务端安装:yum install -y puppet-server puppet facter
客户端安装:yum install -y puppet facter

客户端第一次执行--test时的证书签发过程


image.png

服务端上的证书列表


image.png

zookeeper的模板文件


image.png

zookeeper资源类


image.png

zookeeper节点配置


image.png

zookeeper客户端执行结果


image.png

服务端收到执行结果报告


image.png

image.png

你可能感兴趣的:(puppet)