kisspuppet.com
Puppet扩展篇7-puppet代码与版本控制系统的结合 | Puppet运维自动化经验分享
http://kisspuppet.com/2014/10/20/puppet_learning_ext7
KissPuppets blog QQ交流群 296934942. 通过安装部署Puppet C/S模型,实现Puppet Server端管理所有被控制机的整个生命周期 从初始化到软件升级、从配置文件创建到测试部署、从系统维护到服务器迁移等。 Root@puppetserver ]# yum install httpd httpd-devel mod dav svn. Root@puppetserver svndata]# vim /etc/httpd/conf.d/subversion.conf LoadModule dav svn module modules/mod dav svn.so LoadModule authz svn module modules/mod authz svn.so Listen 8142 VirtualHost *:8142 Location /svndata DAV svn SVNListParentPath on SVNPath /svndata/puppet AuthType Basic AuthName Subversion re...Root@puppetse...
kisspuppet.com
Puppet基础篇9-Puppetmaster多环境配置 | Puppet运维自动化经验分享
http://kisspuppet.com/2014/03/27/puppet_learning_base9
KissPuppets blog QQ交流群 296934942. Root@puppetmaster environments]# mkdir kissdev [root@puppetmaster environments]# mkdir kissdev/{application/modules,environment/modules} -p [root@puppetmaster environments]# tree . . kissdev application modules #存放应用的模块 environment modules #存放基础环境模块 5 directories, 0 files [root@puppetmaster environments]# cp kissdev kissmq -rp [root@puppetmaster environments]# cp kissdev kissprd -rp [root@puppetmaster environments]# tree . . kissdev application modules en...Root@puppetma...
kisspuppet.com
Puppet基础篇4-安装、配置并使用Puppet | Puppet运维自动化经验分享
http://kisspuppet.com/2014/03/08/puppet_learning_base4
KissPuppets blog QQ交流群 296934942. Root@puppetmaster ]# yum install puppet puppet-server facter -y #系统会自己安装一些ruby依赖包环境. Root@puppetmaster ]# cp /etc/puppet/puppet.conf{,.bak} #备份 [root@puppetmaster ]# vim /etc/puppet/puppet.conf #注释已经删除 [main] logdir = /var/log/puppet #默认日志存放路径 rundir = /var/run/puppet #pid存放路径 ssldir = $vardir/ssl #证书存放目录,默认$vardir为/var/lib/puppet [agent] classfile = $vardir/classes.txt localconfig = $vardir/localconfig server = puppetmaster.kisspuppet.com #设置agen...Root@agent1 ]# puppet...
kisspuppet.com
Puppet基础篇1-编写此系列文档的目的 | Puppet运维自动化经验分享
http://kisspuppet.com/2014/03/03/puppet_learning_base1
KissPuppets blog QQ交流群 296934942. 在编写 零基础学习Puppet自动化配置管理 系列文档之前,KissPuppet拜读了 pro puppet 、 puppet实战 、 Puppet 2.7 Cookbook RAW 以及目前在读的 Pro Puppet 2nd 等书籍 特别感谢James Turnbull、Jeffrey McCune、John Arundel、刘宇 这几位作者的无私奉献。 Invalid byte sequence in US-ASCII. Puppet 3.5.0版本. China Puppet User Group.
kisspuppet.com
MCollective架构篇2-MCollective+MQ架构的部署 | Puppet运维自动化经验分享
http://kisspuppet.com/2014/10/21/puppet_learning_mco2
KissPuppets blog QQ交流群 296934942. 在这一点上,它的功能类似 Func,Fabric 和 Capistrano。 其次,MCollective 的设计打破基于中心存储式系统和像 SSH 这样的工具,不再仅仅痴迷于 SSH 的 For 循环。 它使用发布订阅中间件(Publish Subscribe Middleware)这样的现代化 工具和通过目标数据(meta data)而不是主机名(hostnames)来实时发现网络资源这样的现代化理念。 2131 加载amqp client和rabbit stomp插件. Root@puppetserver rpms]# vim /etc/rabbitmq/rabbitmq.config [. Stomp,[ {tcp listeners, [61613]} ]} #设置connector为stomp,监听端口为61613. Tcp 0 0 : :61613 : :. Tcp 0 0 : :5672 : :* LISTEN 1906/beam.smp. Root@puppetserver rpms]# rabbitmqctl del...
kisspuppet.com
Puppet扩展篇5-通过多进程增强master的负载均衡能力(nginx+mongrel) | Puppet运维自动化经验分享
http://kisspuppet.com/2014/10/20/puppet_learning_ext5
KissPuppets blog QQ交流群 296934942. 而nginx的upstream字段里面所包含的地址填写为127.0.0.1指向puppetmaster进程,提高了安全性。 Nginx mongrel只支持puppet2.7之前版本 包括2.7版本在内。 Root@puppetserver yum.repos.d]# yum install rubygem-mongrel nginx. Root@puppetserver yum.repos.d]# vim /etc/sysconfig/puppetmaster PUPPETMASTER PORTS=( 18140 18141 18142 18143 ) PUPPETMASTER EXTRA OPTS=- servertype=mongrel - ssl client header=HTTP X SSL SUBJECT. 00:00:22 /usr/bin/ruby /usr/sbin/puppetmasterd root 6431 1 0 14:10? 00:00:00 /usr/bin/ruby /usr/sbin/puppetma...
kisspuppet.com
Puppet基础篇8-编写第二个完整测试模块yum | Puppet运维自动化经验分享
http://kisspuppet.com/2014/03/24/puppet_learning_base8
KissPuppets blog QQ交流群 296934942. Root@puppetmaster modules]# tree yum yum files manifests templates 3 directories, 0 files. Root@puppetmaster manifests]# vim install.pp class yum: install{ package { yum: ensure = installed, #要求yum这个包处于安装状态 } }. Eg [root@agent1 ]# facter grep operatingsystemrelease 系统版本fact operatingsystemrelease = 5.7. 以下只定义了系统版本为5.7、5.8、和6.4的变量,如果有其它版本效仿即可。 因此、上面定义的class yum: config key和yum: config repo可以写成以下格式. Invalid byte sequence in US-ASCII. Puppet 3.5.0版本. China Puppet User Group.
kisspuppet.com
MCollective架构篇1-MCollective架构的引入 | Puppet运维自动化经验分享
http://kisspuppet.com/2014/10/21/puppet_learning_mco1
KissPuppets blog QQ交流群 296934942. Marionette Collective MCollective 是一个与Puppet关系密切的服务运行框架。 也可以参考纸飞机的博客关于mcollective的介绍 http:/ junqili.com/. 目标数据来自于 Puppet, Chef, Facter, Ohai 或者自身提供的插件 使用命令行调用远程代理 能够写自定义的设备报告 大量的代理来管理包,服务和其他来自于社区的通用组件 允许写 SimpleRPC 风格的代理、客户端和使用 Ruby 实现 Web UIs 外部可插件化(pluggable)实现本地需求 中间件系统已有丰富的身份验证和授权模型,利用这些作为控制的第一道防线。 更多信息请参考 http:/ docs.puppetlabs.com/. ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现. 本实验采用的版本为 mcollective 2.2.4 rabbitmq 3.1.5. Invalid byte sequence in US-ASCII.
kisspuppet.com
Puppet扩展篇1-自定义fact结合ENC(hirea)的应用实践 | Puppet运维自动化经验分享
http://kisspuppet.com/2014/04/20/puppet_learning_ext1
KissPuppets blog QQ交流群 296934942. 假设你用Puppet管理500个节点,存在三种情况 1、所有节点有共同的类,也可以理解为模块 2、所有节点分成了50组,每组节点有不同的应用,每组应用编写一个模块 3、每个节点也应该有一个自己的模块,在这种环境下,可想而知,site.pp文件是多么的复杂,多么的难以维护。 Hiera工具和Puppetmaster结合需要通过hiera-puppet工具完成,在puppet-server 3.0.*版本后,这个工具已经集成到了puppet-server安装包中。 Root@puppetmaster ]# vim /etc/puppet/hiera.yaml - - :backends: - yaml :hierarchy: # - defaults # - %{clientcert} - common - %{environment} - %{osfamily} - %{hostname} # - global :yaml: :datadir:/etc/puppet/environments/%{environment}/hiera.
kisspuppet.com
Puppet基础篇3-安装Puppet前期的准备工作 | Puppet运维自动化经验分享
http://kisspuppet.com/2014/03/06/puppet_learning_base3
KissPuppets blog QQ交流群 296934942. 192168.100.*/24的网关为192.168.100.110 所有服务器的DNS1为192.168.100.110. Root@puppetmaster ]# vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=puppetmaster.kisspuppet.com [root@agent1 ]# vim /etc/sysconfig/network NETWORKING=yes NETWORKING IPV6=no HOSTNAME=agent1.kisspuppet.com. Root@puppetmaster ]# /etc/init.d/NetworkManager stop Stopping NetworkManager daemon: [ OK ] [root@puppetmaster ]# chkconfig NetworkManager off. Yes Warning: Permanently added 192.168.100.111 ...Root@agen...