puppet

Posted zhming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了puppet相关的知识,希望对你有一定的参考价值。

puppet(3)

master/agent:

master/agent模式的工作流程
   agent每隔固定时长会向master端发送nodename(自己的节点名,节点名至关重要)和 facts ,并且向服务器端请求自己的catalog。master端收到以后首先classify(分类识别来请求的是哪一个客户端和这个客户端要哪些东西),于是master端就在本地根据定义的站点清单(说白了就是给这台设备声明哪些类)。因此每一个agent端必须向master端明确的发送自己的nodename。
master端识别agent端就是靠nodename.为社么要靠nodename识别agent端呢?
  因为二者之间是基于ssl互相认证通讯的。puppet中master与agent是基于https协议通讯的,https通讯是如何构建的。客户端发请求服务端把证书扔给客户端,客户端验证这个这个证书。而在puppet中 是双向认证的,master要验证agent端的证书,agent还要验证master端的证书。也就意味着agent端发请求会把自己的证书扔给master端的,master要根据agent自己声明的这个名字和agent自己发过来的证书来验证二者之间是否一致的,如果能保持一致,那么我们就认为这是通过的,更重要的是master端还保存着ca证书,因此它还要使用ca去验证此证书各个方面的有效性,这一切都通过了,双方才可以建立基于ssl通信会话的。这里面的通信过程agent要发送自己的节点名,而agent向master请求时尽量使用master的节点名称而不要使用ip地址。因此在我们的puppet工作环境中,DNS服务至关重要。每一个节点都必须要有一个尽可能唯一的名字。通过dns服务能够解析,而且能彼此之间通过解析后能够互相通信才可以.

依赖于主机名称互相通信
DNS
主机名命令规范:
角色-运营商-机房名-IP.管理域名
web1-unicom-sh-1.1.1.1.magedu.com

以上是关于puppet的主要内容,如果未能解决你的问题,请参考以下文章

puppet-类模版语言模块

Puppet 条件判断语句(十六)

Puppet 之 类的介绍

Puppet apply命令参数介绍

以puppeteer抓取微指数,puppeteer基本示例,即docker部署

Puppet 之 模板和模块