puppet 初识

【puppet初识】

学习目录  领导说saltstack太慢 机器量一旦上来,saltstack就力不从心,所以要将saltstack转向puppet。

【安装背景】

系统centos 6.5

软件地址:

http://downloads.puppetlabs.com/puppet/

master: 192.168.100.10

agent: 192.168.100.13

因为puppet对ca证书的办法是很对域名了。所以域名一定要解析并且master端最好不要变。

【安装步骤】

时钟同步

ntpdate pool.ntp.org

设置hostname并放入hosts解析

echo "192.168.100.10  master.test.com" >> /etc/hosts
echo "192.168.100.13  agent.test.com" >> /etc/hosts

puppet端master和agent端的安装:

puppet是基于ruby的,所以首先要安装ruby语言环境。

yum install ruby -y

安装facter -->收集系统信息的软件命令

################# master 和agent 共同的步骤 #############

tar xvf facter-1.6.13.tar.gz

cd facter-1.6.13

ruby install.rb

## 检查facter安装是否成功

facter 收集系统的信息的命令工具

tar xvf puppet-3.0.0.tar.gz

cd puppet-3.0.0

ruby install.rb

创建puppet 用户否则启动失败

useradd  puppet

######################## master 拷贝配置

[[email protected] puppet-3.0.0]# pwd

/usr/local/src/puppet-3.0.0

[[email protected] puppet-3.0.0]# cp ext/redhat/server.init /etc/init.d/puppetmaster

[[email protected] puppet-3.0.0]# chmod 755 /etc/init.d/puppetmaster

cp ext/redhat/puppet.conf  /etc/puppet/

######################## agent 拷贝配置

[[email protected] puppet-3.0.0]# cp  ext/redhat/client.init  /etc/init.d/puppetclient

[[email protected] puppet-3.0.0]# chmod 755 /etc/init.d/puppetclient

##### master启动

/etc/init.d/puppetmaster start

#### master启动检测

[[email protected] puppet-3.0.0]# ps -ef |grep ruby

puppet   10915     1  1 16:34 ?        00:00:01 /usr/bin/ruby /usr/bin/puppet master

root     11272  6458  0 16:36 pts/0    00:00:00 grep --color=auto ruby

[[email protected] puppet-3.0.0]# netstat -tulnp |grep ruby

tcp        0      0 0.0.0.0:8140                0.0.0.0:*                   LISTEN      10915/ruby

##### agent 启动

[[email protected] puppet-3.0.0]# /etc/init.d/puppetclient start

Starting puppet agent:

#### agent 启动检测

[[email protected] puppet-3.0.0]# ps -ef |grep ruby

root      5623     1  5 16:40 ?        00:00:02 /usr/bin/ruby /usr/bin/puppet agent

############## agent 请求证书 master签发证书  

agent request   agent端向maser端发起证书请求 puppet agent --test --server master.test.com

master accept    puppet cert sign  agent.test.com  接收指定的 puppet cert sign --all 接收所有的请求

agent fetch

过程1

[[email protected] puppet-3.0.0]# puppet agent --test --server master.test.com

Info: Caching certificate for ca

Info: Creating a new SSL certificate request for agent.test.com

Info: Certificate Request fingerprint (SHA256): DB:AC:CB:4E:FC:68:E3:71:B5:45:6E:6C:73:C9:EE:27:11:0F:2D:5A:8F:43:21:53:0D:33:7F:85:87:4B:0E:59

Exiting; no certificate found and waitforcert is disabled

[[email protected] puppet-3.0.0]#

过程2:

master端已经有这个请求了 接受就可以了

[[email protected] puppet]# puppet cert list  或者 puppet cert list --all

"agent.test.com" (SHA256) DB:AC:CB:4E:FC:68:E3:71:B5:45:6E:6C:73:C9:EE:27:11:0F:2D:5A:8F:43:21:53:0D:33:7F:85:87:4B:0E:59

[[email protected] puppet]#

接收证书:

[[email protected] puppet]# puppet cert sign  agent.test.com

Signed certificate request for agent.test.com

Removing file Puppet::SSL::CertificateRequest agent.test.com at ‘/var/lib/puppet/ssl/ca/requests/agent.test.com.pem‘

过程3:

agent端测试

puppet agent --test --server master.test.com

############### 出错过程 ##########

[[email protected] puppet-3.0.0]# puppet  agent --test

Error: Could not request certificate: Connection refused - connect(2)

Exiting; failed to retrieve certificate and waitforcert is disabled

我这里的原因是 agent的使用的都是默认配置 没有知道指定master 解决方法:

puppet agent --test --server master.test.com

排除了网络问题的命令: telnet master.test.com 8140

####### 写一个测试用例 测试 master 和 agnet可以通信了 及 master可以管理agent端了   agent可以同步master端了

master端编写一个测试pp

[[email protected] manifests]# cat site.pp

file { "/tmp/temp1.txt":

content => "Hello World\n"; }

[[email protected] manifests]# pwd

/etc/puppet/manifests

### agent 进行同步

[[email protected] puppet-3.0.0]# puppet agent --test --server master.test.com

Info: Retrieving plugin

Error: /File[/var/lib/puppet/lib]: Could not evaluate: Could not retrieve information from environment production source(s) puppet://master.test.com/plugins

Info: Caching catalog for agent.test.com

Info: Applying configuration version ‘1480151413‘

/Stage[main]//File[/tmp/temp1.txt]/ensure: defined content as ‘{md5}e59ff97941044f85df5297e1c302d260‘

Finished catalog run in 0.04 seconds

[[email protected] puppet-3.0.0]# cat /tmp/temp1.txt

Hello World

[[email protected] puppet-3.0.0]#

上面错误的信息原因:

Error: /File[/var/lib/puppet/lib]: Could not evaluate: Could not retrieve information from environment production source(s) puppet://master.test.com/plugins

不影响: 原因未知

时间: 2024-08-09 21:33:52

puppet 初识的相关文章

Puppet权威指南

<Puppet权威指南>基本信息作者: 王冬生 丛书名: Linux/Unix技术丛书出版社:机械工业出版社ISBN:9787111485988上架时间:2014-12-25出版日期:2015 年1月开本:16开版次:1-1   内容简介    计算机书籍自动化运维领域的重磅之作,Puppet领域权威的.系统的.有深度的.极具企业实战价值的著作.腾讯高级运维工程师撰写,获得了来自腾讯.百度.阿里巴巴.新浪等多家世界级互联网企业的总监级运维专家的高度认可和联袂推荐.工欲善其事,必先利其器,在操作

初识salt之saltstack配置应用以及基础用法

一.测试是否能管理client 使用模块cmd.run 可以查看到client的ip地址 [[email protected]_server ~]# salt '*' cmd.run 'ip a' salt_client1:     1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00  

初识Python,望君多多关照

在学习Python之前,我们接触过数据结构和网页制作.前者让我们学习如何把C语言运用的更加整齐规范,而后者让我们亲身学习如何运用所学,制作一个静态网页.通过这些课程的学习,让我对C语言产生了比较大的压力,以至于对编程.对这学期的Python课程都有一种如临大敌的感觉. 但是真的学习了这门课程,体会了编码过程中的一些固定运用方法和套路之后,也许过程中对这门课程隐隐约约产生了一点点朦胧的感觉,仿佛他也并没有想象中的那么困难,起码现在的学习让我认为,他可能没有C语言那么繁琐和麻烦.当然,以一个初学者的

Puppet node节点的特性(十二)

前言: 生产机器很多通常会新建nodes.pp文件和site.pp文件平级,存放于/etc/puppet/manifests/nodes.pp文件,这种方法比较常用.当然也有其他办法直接写入site.pp文件. nodes.pp文件主机匹配,支持正则表达式和继承. //:正则匹配 "":精确匹配 inherits:继承 实例: 先正则匹配然后在精确匹配. node /sh-(proxy|web)\d+/ {   case $::hostname {     "sh-proxy

初识数组排序!!!!

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>初识数组排序</title> <!--调试成功--> <style type="text/css"> *{ padding:0; margin: 0; } li,ul{ list-style: none; } #p

利用Puppet全自动部署tomcat

上一篇聊了puppet的安装部署方法,如果你还没有安装puppet,请点击下方链接查看具体安装方法: <搭建Puppet自动化部署环境> 这篇来看一下如何利用Puppet全自动部署tomcat,在Puppet中有很多资源,其中比较常用的包括: package    通过程序安装软件 service    启动或停止服务 file      文件传输 exec      执行命令 由于tomcat用源码包安装的居多,所有下面主要用到file和exec资源 一.打开文件传输功能 1.vim /et

初识操作系统和linux

初识操作系统和linux 1.计算机系统由硬件系统和软件系统两大部分组成:是一种能接收和存储信息,并按照存储在其内部的程序对海量数据进行自动.高速地处理,然后把处理结果输出的现代化智能电子设备. 2.世界上第一台计算机是1946年诞生在美国宾州大学. 3.冯·诺依曼体系结构:1946年数学家冯·诺依曼于提出计算机硬件系统由运算器.控制器.存储器.输入设备.输出设备.摩根定律:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍.现在计算机技术进本很难遵

JAVA 初识类加载机制 第13节

JAVA 初识类加载机制 第13节 从这章开始,我们就进入虚拟机类加载机制的学习了.那么什么是类加载呢?当我们写完一个Java类的时候,并不是直接就可以运行的,它还要编译成.class文件,再由虚拟机解释给当前的操作系统去执行.这些过程都是我们看不见的,我们能看见的也就是一个.class文件.既然虚拟机要解释这些.class文件给当前的操作系统听,那么他怎么获得这些.class文件呢?虚拟机获得这些.class文件的过程就是类加载了. 所以,总结来说就是:虚拟机将.class文件从磁盘或者其他地

puppet安装和部署

环境 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.6 (Final) http://downloads.puppetlabs.com/facter/facter-1.5.8.tar.gz http://downloads.puppetlabs.com/puppet/puppet-2.6.1.tar.gz 软件包: [[email protected] tools]# ll 总用量 1532 -rw-r--r--