Puppet在不同平台上的安装方法不一样,个人不是特别推荐用源码的方式,推荐使用yum和apt-get,因为既然用到了puppet环境,说明应用场景的机器数量还是很多的,yum和apt-get更为方便。很多朋友比较关心puppet master和puppet agent端的版本不一致的问题,其实就一个规则就行:puppet master的版本号是必须高于puppet agent的,二者的版本不要相差太远,差太远了就容易连接不上。
Puppet对时间要求是非常严格的,这是因为证书申请是通过SSL连接,而SSL连接依赖主机上的正确时间,如果时间不正确,得到的错误信息而导致证书申请失败,所以我们在puppet client连接puppet
master时都应该通过ntpdate命令来自动对时,如果Xen虚拟机要加入puppet环境,建议也要修改sysctrl内核,然后再通过ntpdate命令来自动对时,详见:
http://andrewyu.blog.51cto.com/1604432/1301516。
定义(define)在puppet的官方文档里是没有这一说法的,我们可以理解为资源的组合容器,很多资料和文档将其翻译成函数,这里是错误的;puppet的函数是puppet master上运行的,并且也只能在puppet master上面运行,比如包含类和模块的include指令,我们将其称之为puppet的函数,函数和定义还是有区别的。
在模块中定义的类要跟模块同名的,比如nginx模块中定义的类起名也要为nginx,不然puppet客户端连接puppet服务器时会报报不到class的错误,模块可以由多个类来组成,我们可以使用::命名空间语法作为在模块中创建结构和组织的一种方法,比如nginx::install,nginx::config。
自动化运维工具puppet的工作流程、基础概念及入门学习资料见附件。
【编辑推荐】
- 自动化运维在中交兴路的应用
- Puppet利用Nginx多端口实现负载均衡
- 自动化运维之 Puppet 实战
- 从分布式存储设计到自动化运维的演进
- 专访运维架构师伏晔:小米的自动化运维之路
推荐阅读
最近决定将以前同事写的存储过程查看一遍,寻找一些代码上写的不太好的地方,争取进行修改以后让这些过程达到一个很好的运行速度。下面是遇到的最多的几个问题。我遇到了这样的一个SQL:select name, count(*) from >>>详细阅读
地址:http://www.17bianji.com/yunwei/34186.html
1/2 1