puppet初始化安装和配置(puppet自动化系列1)
一、服务器规划
以下均直接yum安装最新版。
服务器操作系统为centos6.2
Puppetmaster1 10.168.32.116 puppstmaster1.jq.com
Puppetmaster2 10.168.32.117 puppetmaster2.jq.com
Puppet1 10.168.32.120 ag1.jq.com
Puppet2 10.168.32.121 ag2.jq.com
Puppetca1 10.168.32.118 puppetca1.jq.com
Puppetca2 10.168.32.119 puppetca2.jq.com
facter.x86_64 1:2.3.0-1.el6
puppet.noarch 0:3.7.3-1.el6
二、软件安装
2.1 安装epel包
所有服务器安装epel包
rpm -ivh http://mirror.bjtu.edu.cn/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
2.2 Puppet master 安装配置
[root@puppetmaster1 ~]#yum install puppet-server puppet
[root@puppetmaster1 ~]#yum install facter
[root@puppetmaster1 ~]# cat /etc/puppet/puppet.conf
[main]
logdir = /var/log/puppet
rundir = /var/run/puppet
ssldir = $vardir/ssl
[agent]
classfile = $vardir/classes.txt
localconfig = $vardir/localconfig
server = puppetmaster1.jq.com
certname = puppetmaster1_cert.jq.com
[master]
certname = puppetmaster1.jq.com
创建site.pp文件,site.pp文件是puppet读取所有模块pp文件的开始
[root@puppetmaster1 ~]# touch /etc/puppet/manifests/site.pp
[root@puppetmaster1 ~]# /etc/init.d/puppetmaster restart
Stopping puppetmaster: [ OK ]
Starting puppetmaster: [ OK ]
[root@puppetmaster1 ~]# /etc/init.d/puppetmaster restart
[root@puppetmaster1 ~]# chkconfig puppetmaster on
启动守护进程将初始化Puppet的环境,创建一个本地的认证中心,同时创建 master相关的证书和密钥,并打开适当的网络socket等待客户端的连接。可以在 /etc/puppet/ssl目录查 看Puppet的SSL信 息和相 关证书 。
[root@puppetmaster1 ~]# tree /var/lib/puppet/ssl/
/var/lib/puppet/ssl/
├── ca
│ ├── ca_crl.pem
│ ├── ca_crt.pem
│ ├── ca_key.pem
│ ├── ca_pub.pem
│ ├── inventory.txt
│ ├── private
│ │ └── ca.pass
│ ├── requests
│ ├── serial
│ └── signed
│ ├── puppetmaster1_cert.jq.com.pem
│ └── puppetmaster1.jq.com.pem
├── certificate_requests
│ └── puppetmaster1_cert.jq.com.pem
├── certs
│ ├── ca.pem
│ ├── puppetmaster1_cert.jq.com.pem
│ └── puppetmaster1.jq.com.pem
├── crl.pem
├── private
├── private_keys
│ ├── puppetmaster1_cert.jq.com.pem
│ └── puppetmaster1.jq.com.pem
└── public_keys
├── puppetmaster1_cert.jq.com.pem
└── puppetmaster1.jq.com.pem
启动守护进程将初始化Puppet的环境,创建一个本地的认证中心,同时创建master相关的证书和密钥,并打开适当的网络socket*等待客户端的连接。可以在/etc/puppet/ssl目录查看Puppet的SSL信息和相关证书 。
[root@puppetmaster1 ~]# tree /var/lib/puppet/ssl/
/var/lib/puppet/ssl/
├── ca
│ ├── ca_crl.pem
│ ├── ca_crt.pem
│ ├── ca_key.pem
│ ├── ca_pub.pem
│ ├── inventory.txt
│ ├── private
│ │ └── ca.pass
│ ├── requests
│ ├── serial
│ └── signed
│ ├── puppetmaster1_cert.jq.com.pem
│ └── puppetmaster1.jq.com.pem
├── certificate_requests
│ └── puppetmaster1_cert.jq.com.pem
├── certs
│ ├── ca.pem
│ ├── puppetmaster1_cert.jq.com.pem
│ └── puppetmaster1.jq.com.pem
├── crl.pem
├── private
├── private_keys
│ ├── puppetmaster1_cert.jq.com.pem
│ └── puppetmaster1.jq.com.pem
└── public_keys
├── puppetmaster1_cert.jq.com.pem
└── puppetmaster1.jq.com.pem
9 directories, 18 files
第一次启动puppet,可以使用
puppet agent -t --verbose --no-daemonize 命令测试。
参数 --verbose使 master输出详细的日志,而--no-daemonize参数使 masteriS程运行 在前 台并将 输出重 定向到标准 输出 。你还可以 加上--debug参数 来产生 更加详 细的调 试输出 。
查看监听状态 puppetmaster服务开启后,默认监听TCP 8140端口
[root@puppetmaster1 ~]# netstat -nlatp | grep 8140
tcp 0 0 0.0.0.0:8140 0.0.0.0:* LISTEN 18524/ruby
[root@puppetmaster1 ~]# lsof -i:8140
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
puppetmas 1976 puppet 5u IPv4 14331 0t0 TCP *:8140 (LISTEN)
2.3 Puppet agent 安装配置
安装puppet和facter
[root@ag1 ssl]# yum install -y puppet facter
facter.x86_64 1:2.3.0-1.el6 puppet.noarch 0:3.7.3-1.el6
[root@ag1 puppet]# cat /etc/puppet/puppet.conf
### config by puppet ###
[main]
logdir = /var/log/puppet
rundir = /var/run/puppet
ssldir = $vardir/ssl
#pluginsync = false
[agent]
classfile = $vardir/classes.txt
localconfig = $vardir/localconfig
server = puppetmaster1.jq.com
certname = ag1_cert.jq.com
runinterval = 1000
申请证书
[root@ag1 puppet]# puppet agent -t
Info: Creating a new SSL key for ag1_cert.jq.com
Info: Caching certificate for ca
Info: csr_attributes file loading from /etc/puppet/csr_attributes.yaml
Info: Creating a new SSL certificate request for ag1_cert.jq.com
Info: Certificate Request fingerprint (SHA256): AD:51:37:B7:5D:4E:7C:9F:7D:5E:7B:C6:DE:6A:00:F4:AA:CE:A9:51:C0:89:73:90:1E:71:DC:0E:9C:63:A3:2F
Info: Caching certificate for ca
Exiting; no certificate found and waitforcert is disabled
Master注册证书
[root@puppetmaster1 ~]# puppet cert --sign --ag1.jq.com
客户端再次请求
[root@ag1 puppet]# puppet agent -t
第一次启动puppet,可以使用
puppet agent -t --verbose --no-daemonize 命令测试。
参数 --verbose使master输出详细的日志,而--no-daemonize参数使masteriS程运行在前台并将输出重定向到标准输出 。你还可以加上--debug参数 来产生更加详细的调 试输出 。 Puppet agent安装配置
查看监听状态 puppetmaster服务开启后,默认监听TCP 8140端口
[root@puppetmaster1 ~]# netstat -nlatp | grep 8140
tcp 0 0 0.0.0.0:8140 0.0.0.0:* LISTEN 18524/ruby
[root@puppetmaster1 ~]# lsof -i:8140
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
puppetmas 1976 puppet 5u IPv4 14331 0t0 TCP *:8140 (LISTEN)
本系统puppet均根据kisspuppet的博客(http://kisspuppet.com/)进行实验,非常感谢!!!
puppet初始化安装和配置(puppet自动化系列1)的更多相关文章
- 学习安装并配置前端自动化工具Gulp
Gulp和所有Gulp插件都是基于nodeJs来运行的,因此在你的电脑上需要安装nodeJs,安装过程请移驾安装并配置前端自动化工具--grunt.安装完成后,通过运行cmd进入DOS命令窗口,如图: ...
- 在 CentOS 7 上安装和配置 Puppet
1 准备 2台 centos7 (master/server:192.168.1.103 agent/client:192.168.1.106) 分别添加puppet自定义仓库 https://yum ...
- 安装并配置前端自动化工具-gulp
由于现在前端自动化已经很有必要了,所以我今天死皮烂脸的找了2位前端大咖帮助我安装和配置gulp,讲真,这一步步弄下来直到安装配置成功,到现在还是迷迷糊糊,不过我还是把这些步骤给记录下来,以防下次不记得 ...
- 安装并配置前端自动化工具——grunt
Grunt和所有Grunt插件都是基于nodeJs来运行的,因此在你的电脑上需要安装nodeJs.安装nodeJs非常简单,点击访问nodeJs官网https://nodejs.org,然后nodeJ ...
- puppet yum安装配置,简单证书维护
Puppet学习之puppet的安装和配置 一.Puppet简介 Puppet基于ruby语言开发的自动化系统配置工具,可以C/S模式或独立运行,支持对所有UNIX及类UNIX系统的配置管理,最新版本 ...
- Puppet安装与配置简介(附视频教程)
Puppet是一种Linux平台的集中配置管理系统,他可管理配置文件.用户.cron任务.软件包.系统服务等.puppet把这些系统实体称之为资源,puppet采用C/S星状的结构,所有的客户端和一个 ...
- 配置管理工具 Puppet的安装和使用
今天碰到一个linux下的puppet的问题,才发现原来这个是 用ruby语言编写的自动化的管理工具.有兴趣的同学,可以学习下. 这里重点讲述下 mac下 puppet的安装方法: 在Mac下采用Gi ...
- 烂泥:puppet3.7安装与配置
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 有关服务器的自动化管理,这方面以前没有接触过.打算这段时间把这块知识给补上. 现在服务器自动化管理软件,使用最多也最火的就是puppet了. 那么我们今 ...
- Puppet自动化部署-安装及配置(3)
本文介绍Puppet Master及Agent相关的安装及配置. 一. 官网下载Puppet安装YUM源 [root@puppet-master ~]# rpm -ivh https://yum.pu ...
随机推荐
- 数字证书中keytool命令使用说明
这个命令一般在JDK\jre\lib\security\目录下操作 keytool常用命令 -alias 产生别名 -keystore 指定密钥库的名称(就像数据库一样的证书库,可以 ...
- 有一个投篮游戏。球场有p个篮筐,编号为0,1...,p-1。每个篮筐下有个袋子,每个袋子最多装一个篮球。有n个篮球,每个球编号xi 。规则是将数字为xi 的篮球投到xi 除p的余数为编号的袋里。若袋里已有篮球则球弹出游戏结束输出i,否则重复至所有球都投完。输出-1。问游戏最终的输出是什么?
// ConsoleApplication5.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<vector> ...
- 利用expload 分割字符串 变成数组
#admin_abc去掉下划线 =>>变成 array('admin','abc') $table_Name=explode('_', $table_Name);
- mac os x升级MOUNTAIN LION后svn command not found的解决
因为svn是个开发工具 所以苹果把他移到 Xcode developer package 里 去了,所以你没装xcode之类的,先去AppStore把xcode装了 装好之后sudo vi /et ...
- Jquery datepicker的使用
1. 设定初始日期 $("#<%=txtStart.ClientID %>").datepicker("setDate", start); 2. 设 ...
- 如何给UIViewController瘦身
本文转载至 http://www.cocoachina.com/ios/20141128/10356.html 随着程序逻辑复杂度的提高,你是否也发现了App中一些ViewController的代码 ...
- Windows 下Nexus搭建Maven私服
nexus下载地址: http://www.sonatype.org/nexus/archived/#step2top 1. 为什么使用Nexus 如果没有私服,我们所需的所有构件都需要通过maven ...
- C#根据Type获取默认值
简单的获取某变量类型的默认值 在c#中为我们提供了default(),但是default的参数是具体的类名, 如何根据变量类型的Type获取默认值Code如下: 1 public static obj ...
- C#Panel 控件的使用
Windows 窗体 Panel 控件用于为其他控件提供可识别的分组.通常,使用面板按功能细分窗体.例如,可能有一个订单窗体,它指定邮寄选项(如使用哪一类通营承运商).将所有选项分组在一个面板中可向用 ...
- 更新pip10后 ImportError: cannot import name ‘main'(转)
解决:找到报错文件,也就是那个pip,然后cd进目录 vi 编辑pip,将里面的内容改为如下所示: # -*- coding: utf-8 -*- import re import sys from ...