批量运维神器PUPPET之环境部署
来源:互联网 发布:淘宝服装文案 编辑:程序博客网 时间:2024/06/06 17:06
puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。
puppet采用C/S星状的结构,所有的客户端和一个或几个服务器交互。每个客户端周期的(默认半个小时)向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步。每个puppet客户端每半小时(可以设置)连接一次服务器端,下载最新的配置文件,并且严格按照配置文件来配置客户端。配置完成以后,puppet客户端可以反馈给服务器端一个消息。如果出错,也会给服务器端反馈一个消息。
本篇为您提供puppet在centos下的部署方案,需要注意的是:Puppet 要求所有机器有完整的域名(FQDN),如果没有 DNS 服务器提供域名的话,可以在两台机器上设置主机名(注意要先设置主机名再安装 Puppet,因为安装 Puppet 时会把主机名写入证书,客户端和服务端通信需要这个证书)。
环境准备
1、关闭selinux
[root@master ~]# vi /etc/selinux/config
SELINUX=disabled
[root@master ~]# setenforce 0
2、停止iptables
[root@node1 ~]# chkconfig ip6tables off
[root@node1 ~]# chkconfig iptables off
[root@node1 ~]# service ip6tables stop
[root@node1 ~]# service iptables stop
3、修改puppet服务器端主机名为puppet-server
[root@master ~]# vi /etc/hostname
puppet-server
修改puppet客户端主机名为puppet-agent
[root@master ~]# vi /etc/hostname
puppet-agent
4、修改puppet客户端添加hosts记录
[root@node1 ~]# vi /etc/hosts
</master.ip> puppet-server
安装NTP时间同步服务器
1、puppet-server端
[root@master ~]# yum install chrony
[root@master ~]# vi /etc/chrony/chrony.conf
server </network-ntp-server> iburst
[root@master ~]# service chronyd restart
2、puppet-agent
[root@master ~]# yum install chrony
[root@master ~]# vi /etc/chrony/chrony.conf
server <puppet-server> iburst
[root@master ~]# service chronyd restart
服务器端安装puppetmaster软件
在 master上安装和启用 puppet 服务:
[root@master ~]# yum install puppet-server
[root@master ~]# chkconfig puppet on
[root@master ~]# service puppetmaster start
客户端安装puppet软件
在 agent上安装和启用 puppet 服务:
[root@node1 ~]# yum install puppet
[root@node1 ~]# chkconfig puppet on
[root@node1 ~]# service puppet start
配置puppet客户端
修改/etc/puppet/puppet.conf,指定master服务器
[root@node1 ~]# vi /etc/puppet/puppet.conf
[agent]
server = puppet-server
重启puppet服务
[root@node1 ~]# service puppet restart
客户端连接测试
[root@node1 ~]# puppet agent –test
然后我们会发现连接呗拒绝了,应该服务器端还没有认证。
服务器端认证
1、[root@node1 ~]#puppet cert list –all
我们发现多了一台puppet-agent
2、[root@node1 ~]#puppet cert sign puppet-agent
八
客户端重新连接
[root@node1 ~]# puppet agent –test
Info: Retrieving pluginfacts Info: Retrieving plugin
Info: Caching catalog for agent1.localdomain
Info: Applying configuration version '1479087051'
Notice: ensure: defined content as '{md5}ed076287532e86365e841e92bfc50d8c'
Notice: Finished catalog run in0.02 seconds
我们发现客户端已经成功连上服务端。
最后,附上一个测试的配置文件,你可以通过它测试文件同步是否完成。
[root@node1 ~]#cat /etc/puppet/manifests/site.pp
node default {
file { "/tmp/helloworld.txt" :
content =>"Hello World!",
}
}
签到有大礼,0元购买云主机http://www.eflycloud.com/index.php
- 批量运维神器PUPPET之环境部署
- Puppet-大规模集群部署管理的神器
- 自动化运维之puppet
- 自动化运维之Puppet
- centos6.5环境自动化运维之puppet实现nginx反向代理功能及puppet安装配置详解
- puppet自动化运维之file资源
- puppet 部署
- 集中化运维管理——Puppet管理之路
- 集中化运维管理——Puppet管理之路
- 集中化运维管理——Puppet管理之路
- 集中化运维管理——Puppet管理之路
- 集中化运维管理——Puppet管理之路
- 集中化运维管理——Puppet管理之路
- 集中化运维管理——Puppet管理之路
- 《自动化运维利器之Saltstack和Puppet》
- RHEL6下puppet部署管理1之安装测试
- Puppet 自动化配置 部署
- puppet自动化部署
- mysql 用户、数据库及表的管理、操作与授权
- BZOJ1088 扫雷Mine [递推]
- ElasticSearch-windows下安装
- java.util.concurrent包
- Eclipse实用技巧:快速调整代码布局—缩进/退格
- 批量运维神器PUPPET之环境部署
- 【theano-windows】学习笔记十一——theano中与神经网络相关函数
- 通俗编程——白话JAVA异常机制
- Unity 3D
- 新手看Java日志框架工具----log4j(一)
- redis主从复制
- ios 11 屏幕适配问题!
- 如何高效设计游戏——塔防游戏设计方案
- HDU-2087