首页运维零件 › 目前已有几种系统可以解决这类需求,它可以用来管理你的服务器基础环境

目前已有几种系统可以解决这类需求,它可以用来管理你的服务器基础环境

10. 布局 puppet 代理节点

大家须求编写制定一下代理节点的 puppet.conf 文件,来使它运行。

# nano /etc/puppet/puppet.conf

它看起来和服务器的安排文件完全相像。相似注释掉 templatedir 那行。不一样的是在那间大家须要删除掉全体有关[master]
的部分。

假若主控服务器能够因此名字“puppet-master”访谈,大家的客户端应该能够和它相互连接通讯。如若不行的话,我们须要使用完整的主机域名
puppetmaster.example.com

[agent]
server = puppetmaster.example.com
certname = puppetnode.example.com

在文件的结尾增添地方3行,扩充之后文件内容像上边这样:

[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
#templatedir=$confdir/templates

[agent]
server = puppetmaster.example.com
certname = puppetnode.example.com

最终保存并脱离。

使用上边包车型客车通令来运维客商端软件:

# systemctl start puppet

若是一切顺遂的话,我们不看望到命令行有任何输出。
第一回运转的时候,代理节点会生成叁个 ssl
证书何况给服务器发送多个诉求,经过具名确认后,两台机械就足以互相通讯了。

提示
借使那是您增加的第叁个代理节点,提议您在累加任何节点前先给那些评释签字。一旦能够透过并寻常运作,回过头来再增添任何代理节点。

改正配置文件

当手中有超级多的机器须求管住的时候,自动化管理冗余又粗俗的职分对系统管理员来讲就很入眼了。相当多组织者习贯了合力攻敌写脚本模拟复杂软件之间的调解。不幸的是,脚本会过时,脚本的编辑者会离职,假诺不开销宏大生命力来保安那些本子的话,它们早晚会一点儿用也绝非。假使能有二个系统,任哪个人都得以接纳、安装工具,无论其受雇于何人,那真是太希望了。如今原来就有二种系统能够解决那类须求,那篇教程将介绍在那之中之一——Puppet——的选择情势。

13. 部署 Puppet 清单

当配置并完毕 puppet
事项清单后,未来大家需求配置清单到代办节点服务器上。要动用并加载主 puppet
清单,我们得以在代理节点服务器下面运用上边的通令:

# puppet agent --test

Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for puppetnode.example.com
Info: Applying configuration version '1434563858'
Notice: /Stage[main]/Main/Exec[apt-update]/returns: executed successfully
Notice: Finished catalog run in 10.53 seconds

这里向大家来得了主项目清单如何及时影响到了贰个纯粹的服务器。

若果大家筹划运转的 puppet 事项清单与主清单没有何关联,大家得以大约利用
puppet apply
带上相应的清单文件的门道就能够。它仅将清单应用到我们运转该清单的代理节点上。

# puppet apply /etc/puppet/manifest/test.pp

本课程要做些什么?

在此篇教程里,大家将同台安装配置一个 Puppet
服务器,然后在大家的客商端服务器(译注:这里的“顾客端服务器”指须要配备职业逻辑的服务器)上成功部分骨干配置。

1.装置主机文件

在本教程里,大家将采取2台运转 ubuntu 15.04 “Vivid Vervet”
的主机,一台作为主要调整伏务器,另一台作为 puppet
的代办节点。下边是我们将使用的服务器的基本功消息。

  • puupet 主要控征服务器 IP:44.55.88.6 ,主机名: puppetmaster
  • puppet 代理节点 IP: 45.55.86.39 ,主机名: puppetnode

我们要在代理节点和服务器这两台机器的 hosts
文件之中都加多上相应的家有家规,使用 root 或是 sudo 访谈权限来编排
/etc/hosts 文件,命令如下:

# nano /etc/hosts

45.55.88.6 puppetmaster.example.com puppetmaster
45.55.86.39 puppetnode.example.com puppetnode

在意,puppet 主要控征服务器必使用 8140
端口来运行,所以请必得确认保证开启8140端口。

图片 1

安装服务器端

在您计划用作 master 的服务器上安装 "puppet-server" 包。

  1. # yum install puppet-server

安装到位后,设置 Puppet 服务器开机自动运营,然后运营它。

  1. # chkconfig puppetmaster on
  2. # service puppetmaster start

现行服务器已经运转起来了,我们试试看我们的互联网能或不可能访谈到它。

对于使用 iptables 充作防火墙的 CentOS/讴歌ZDXHEL 6,在 /etc/sysconfig/iptables
文件的 OUTPUT ACCEPT 小节里增多上边这一行。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8140 -j ACCEPT

再也启航 iptables 服务让刚刚的修正生效。

  1. # service iptables restart

在设置了防火墙的 CentOS/EscortHEL 7 上,我们那样做:

  1. # firewall-cmd --permanent --zone=public
    --add-port=8140/tcp
  2. # firewall-cmd --reload

3. 设置主要控战胜务器软件

安装开源版本的 puppet 有非常多的秘技。在本教程中大家在 puppet
实验室官方网站下载三个名称叫 puppetlabs-release
的软件包的软件源,安装后它将为我们在软件源里面增添puppetmaster-passenger。puppetmaster-passenger 富含富含 apache 的 puppet
主要控克制务器。大家最先下载那些软件包:

# cd /tmp/
# wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb

--2015-06-17 00:19:26-- https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
Resolving apt.puppetlabs.com (apt.puppetlabs.com)... 192.155.89.90, 2600:3c03::f03c:91ff:fedb:6b1d
Connecting to apt.puppetlabs.com (apt.puppetlabs.com)|192.155.89.90|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7384 (7.2K) [application/x-debian-package]
Saving to: ‘puppetlabs-release-trusty.deb’

puppetlabs-release-tr 100%[===========================>] 7.21K --.-KB/s in 0.06s

2015-06-17 00:19:26 (130 KB/s) - ‘puppetlabs-release-trusty.deb’ saved [7384/7384]

下载完毕,我们来设置它:

# dpkg -i puppetlabs-release-trusty.deb

Selecting previously unselected package puppetlabs-release.
(Reading database ... 85899 files and directories currently installed.)
Preparing to unpack puppetlabs-release-trusty.deb ...
Unpacking puppetlabs-release (1.0-11) ...
Setting up puppetlabs-release (1.0-11) ...

采用 apt 包管理命令更新一下本地的软件源:

# apt-get update

今昔我们就足以设置 puppetmaster-passenger 了

# apt-get install puppetmaster-passenger

提示: 在设置的时候恐怕会报错:

Warning: Setting templatedir is deprecated.see http://links.puppetlabs.com/env-settings-deprecations (at /usr/lib/ruby/vendor_ruby/puppet/settings.rb:1139:in `issue_deprecation_warning')

只是实际不是牵挂,忽略掉它就好,大家只要求在装置配置文件的时候把这一项禁止使用就能够了。

什么来查看 puppet
主要控克制务器是不是已经安装成功了吗?特别轻松,只需求接纳下边的指令查看它的版本就能够了。

# puppet --version

3.8.1

最近大家早就安装好了 puppet 主要控制伏务器。因为大家使用的是相称 apache 的
passenger,由 apache 来决定 puppet 主要控战胜务器,当 apache 运维时 puppet
主要控战胜务器才运转。

在带头早先,大家需求通过截至 apache 服务来让 puppet 主要控战胜务器结束运行。

# systemctl stop apache2

127.0.0.1   localhost localhost.localdomain

1. 调试

您免不了会提交错误的安插,然后一定要通过调治判别难点应时而生在何地。平时的话,你依然通过翻看日志文件
/var/log/puppet 先导化解难题,要么手动推行查看输出:

  1. # puppet agent -t

接纳“-t”选项,你可以看出 Puppet
的详尽输出。那条命令还也会有额外的选项能够帮你定位难题。首先要介绍的选料是:

  1. # puppet agent -t --debug

debug 选项会展现 Puppet
本次运转时的大约每一个步骤,那在调治极度复杂的难题时很有用。另叁个很有用的挑肥拣瘦是:

  1. # puppet agent -t --noop

以此选项让 puppet 工作在
dry-run(译注:空转情势,不会对真实情形爆发潜移默化)方式下,不会利用任何修正。Puppet
只会把其事行业内部容输出到显示屏上,不会写到磁盘里去。

更加多详细情形见请继续读书下一页的美丽内容
http://www.linuxidc.com/Linux/2014-10/107677p2.htm

图片 2

2. 用 NTP 更新时间

puppet
代理节点所使用系统时间必定要正确,那样可避防止代理证书现身难点。若是有的时候光差距,那么申明将过期失效,所以服务器与代理节点的体系时间必得相互通步。大家利用
NTP(Network Time
Protocol(互连网时间钻探))来一同时间。在服务器与代理节点下边分别运维以下命令来一头时间。

# ntpdate pool.ntp.org

17 Jun 00:17:08 ntpdate[882]: adjust time server 66.175.209.17 offset -0.001938 sec

(LCTT 译注:展现近似的出口结果表示运转平日化)

如若未有设置 ntp,请使用上面的授命更新您的软件酒店,安装并运营ntp服务

# apt-get update && sudo apt-get -y install ntp ; service ntp restart

sshd status命令

提醒和手艺

12. 去除一个 Puppet 证书

若果我们想移除叁个主机,或许想重新建立叁个主机然后再增添它。上边包车型地铁例证里大家将体现什么删除
puppet 主要控克服务器下面的二个表明。使用的通令如下:

# puppet cert clean hostname
Notice: Revoked certificate with serial 5
Notice: Removing file Puppet::SSL::Certificate puppetnode.example.com at '/var/lib/puppet/ssl/ca/signed/puppetnode.example.com.pem'
Notice: Removing file Puppet::SSL::Certificate puppetnode.example.com at '/var/lib/puppet/ssl/certs/puppetnode.example.com.pem'

如若大家想查看全部的签定和未签订协议的伸手,使用上边那条命令:

# puppet cert list --all
+ "puppetmaster" (SHA256) 33:28:97:86:A1:C3:2F:73:10:D1:FB:42:DA:D5:42:69:71:84:F0:E2:8A:01:B9:58:38:90:E4:7D:B7:25:23:EC (alt names: "DNS:puppetmaster", "DNS:puppetmaster.example.com")

#!/bin/bash

Puppet 是什么?

Puppet 是一款为 IT
系统助理馆员和参考们布置的自动化软件,你能够用它自动化地形成诸如安装应用程序和劳务、补丁管理和配置等职业。全体能源的连锁配置都是“manifests”的方法保留,单台机器大概多台机械都能够利用。假让你想打听越来越多内容,Puppet
实验室的网址上关于于 Puppet
及其职业规律的更详实的介绍。

图片 3

Puppet 学习种类:

Puppet 学习一:安装及简便实例应用
http://www.linuxidc.com/Linux/2013-08/88710.htm

Puppet学习二:轻巧模块配置和应用
http://www.linuxidc.com/Linux/2013-08/88711.htm

相关阅读:

至于Puppet agent端两种备份苏醒方案研究研讨
http://www.linuxidc.com/Linux/2013-07/87885.htm
选料更安全的点子注册你的Puppet节点
http://www.linuxidc.com/Linux/2013-07/87884.htm
通过布署SSH深切领会Puppet的语法及办事机制
http://www.linuxidc.com/Linux/2013-07/87882.htm
Puppet利用Nginx多端口完结负载均衡
http://www.linuxidc.com/Linux/2013-02/79794.htm
CentOS(5和6)下Puppet的C/S形式实例
http://www.linuxidc.com/Linux/2011-12/50502.htm

6. 成立八个 Puppet 项目清单

默许的主清单(Manifest)是 /etc/puppet/manifests/site.pp。
那些根本领项清单文件满含了用来在代理节点试行的布置定义。将来大家来创设三个清单文件:

# nano /etc/puppet/manifests/site.pp

在刚张开的文件之中增多下边这几行:

# execute 'apt-get update'
exec { 'apt-update': # exec resource named 'apt-update'
command => '/usr/bin/apt-get update' # command this resource will run
}

# install apache2 package
package { 'apache2':
require => Exec['apt-update'], # require 'apt-update' before installing
ensure => installed,
}

# ensure apache2 service is running
service { 'apache2':
ensure => running,
}

如上这几行的情趣是给代理节点铺排 apache web 服务。

安装顾客端

执行上面包车型客车吩咐,在客户端节点安装 Puppet 客商端。

  1. # yum install puppet

安装实现后,确认保证 Puppet 会随开机自动运维。

  1. # chkconfig puppet on

Puppet 客商端须要通晓 Puppet master 服务器的地址。最好方案是应用 DNS
服务器解析 Puppet master 服务器地址。倘让你未有 DNS 服务器,在
/etc/hosts 里加多雷同上边这几行也足以:

1.2.3.4 server.your.domain

2.3.4.5 client-node.your.domain

1.2.3.4 对应你的 Puppet master 服务器 IP
地址,“server.your.domain”是你的 master 服务器域名(暗许平时是服务器的
hostname),“client-node.your.domain”是您的客商端节点。满含 Puppet
master 和顾客端,全体有关的服务器都要在 hosts 文件里安插。

做到这个设置之后,大家要让 Puppet 顾客端知道它的 master
是哪个人。暗中同意景况下,Puppet
会招来名称叫“puppet”的服务器,但日常那并不相符您互联网遭受的实际景况,所以大家要改成
Pupper master 服务器的全部域名。张开文件 /etc/sysconfig/puppet,把
PUPPET_SE奥迪Q5VELAND 变量的值改成你在 /etc/hosts 文件里钦定的 Puppet master
服务器的域名。

PUPPET_SERVER=server.your.domain

master 服务器名也要在 /etc/puppet/puppet.conf
文件的“[agent]”小节里先行定义好。

server=server.your.domain

今后可以运行 Puppet 顾客端了:

  1. # service puppet start

强逼大家的顾客端在 Puppet master 服务器上登记:

  1. # puppet agent --test

您会看出相仿于上面包车型大巴输出。别怕,那是正规境况,因为服务器还不曾经在 Puppet
master 服务器上印证过。

Exiting; no certificate found and waitforcert is disabled

归来 Puppet master 服务器,检核准明验证央浼:

  1. # puppet cert list

您应有能观看一个列出了具有向 Puppet master
服务器发起证书具名号召的服务器。找到你客户端服务器的 hostname
然后选拔上边包车型地铁通令具名(client-node 是您客商端节点的域名):

  1. # puppet cert sign client-node

到此甘休 Puppet 顾客端和服务器都平时办事了。恭喜你!可是,今后 Puppet
master 未有别的要客商端做的事务。好吧,我们来成立一些中坚的 manifest
文件然后让大家的客商端节点安装一些骨干工具。

回去你的 Puppet 服务器,确认保障目录 /etc/puppet/manifests 存在。

  1. # mkdir -p /etc/puppet/manifests

成立 manifest 文件 /etc/puppet/manifests/site.pp,内容如下

  1. node 'client-node'{
  2. include custom_utils
  3. }
  4.  
  5. class custom_utils
    {
  6. package{["nmap","telnet","vim-enhanced","traceroute"]:
  7. ensure=> latest,
  8. allow_virtual =>false,
  9. }
  10. }

下一场再次开动 puppetmaster 服务。

  1. # service puppetmaster restart

顾客端默许每 30
秒钟更新一遍配置,假设您愿意您的改造能强逼生效,就在客商端推行如下命令:

  1. # puppet agent -t

设若你必要校正顾客端的暗中认可刷新时间,编辑顾客端节点的
/etc/puppet/puppet.conf 文件中“[agent]”小节,扩展下边这一行:

runinterval =

这些选项的值能够是秒(格式比方 30 也许30s),分钟(30m),小时(6h),天(2d)以至年(5y)。值得注意的是,0
意味着“马上实行”并不是“从不推行”

15. 配备清单模块

模块对于构成职务是分外实用的,在 Puppet
社区有不菲人进献了友好的模块组件。

在主要调节伏务器上, 大家将动用 puppet module 命令来设置 puppetlabs-apache
模块。

# puppet module install puppetlabs-apache

警告: 千万毫无在一个一度布置 apache
意况的机器上边使用这一个模块,不然它将清空你未曾被 puppet 管理的 apache
配置。

现行用文件编辑器来改良 site.pp :

# nano /etc/puppet/manifest/site.pp

增添上边包车型地铁开始和结果进去,在 puppetnode 上边安装 apache 服务。

node 'puppet-node' {
class { 'apache': } # use apache module
apache::vhost { 'example.com': # define vhost resource
port => '80',
docroot => '/var/www/html'
}
}

保留退出。然后再一次运维该清单来为我们的代理节点陈设 apache 配置。

计划专业

是因为 Puppet 不是 CentOS 或 福特ExplorerHEL 发行版的骨干仓库,所以大家得手动添加Puppet 实验室提供的自定义客栈。在装有你想行使 Puppet
的地点实行以下命令安装这一个库房(版本不相同,对应的 RPM
文件名恐怕略有分歧)。

对于 CentOS/RHEL 6.5:

  1. # rpm -ivh

对于 CentOS/RHEL 7:

  1. # rpm -ivh

大家好,本课程将学习怎么样在 ubuntu 15.04 上面安装
puppet,它能够用来管理你的服务器基本功意况。puppet 是由 puppet
实验室(Puppet
Labs)开垦并敬服的一款开源的配备管理软件,它能够帮大家自动化要求、配置和管理服务器的幼功蒙受。不管大家管理的是多少个服务器依旧数以千计的电脑组成的事情报表体系,puppet
都能够使管理员从麻烦的手动配置调治中解放出来,腾出时间和精力去提系统的升全体功用。它亦可确定保障全体自动化流程作业的一致性、可相信性以致稳固。它让管理员和开辟者更严密的关系在一道,使开垦者更易于现身付出设计精美、简洁清晰的代码。puppet
提供了安顿处理和数据大旨自动化的三个缓和方案。那七个缓和方案分别是
puppet 开源版puppet 企业版。puppet 开源版以 Apache 2.0
许可证发表,它是一个特别灵活、可定制的缓和方案,设置初衷是扶助管理员去完结这一个重复性操作职业。pupprt
集团版是二个全平台复杂 IT
意况下的老到技术方案,它除了具有开源版本全部优势以外还只怕有移动端
apps、唯有商业版才有的加强扶植,以致模块化和购并管理等。Puppet 使用 SSL
证书来注脚主控服务器与代理节点之间的通信。

输入以下音讯(首先鲜明顾客端安装了ssh服务)

9. 选用 Apt 工具锁定代理软件的版本

和上面包车型客车步调相近为防卫随便晋级以致的配置文件混乱,我们要运用 apt
工具来把它锁定。具体做法是使用文本编辑器创造多少个文本
/etc/apt/preferences.d/00-puppet.pref:

# nano /etc/apt/preferences.d/00-puppet.pref

在新建的文书之中加入如下内容

# /etc/apt/preferences.d/00-puppet.pref
Package: puppet puppet-common
Pin: version 3.8*
Pin-Priority: 501

那般 puppet 就不会趁机系统软件晋级而随意晋级了。

本学科就要介绍如何在运作 ubuntu 15.04
的主要控克制务器和代理节点上边安装开源版的
puppet。在那间,大家用一台服务器做主要调节伏务器(master),管理和决定剩余的当做puppet代理节点(agent
node)的服务器,那个代理节点将基于主要控克服务器来开展配置。在 ubuntu 15.04
只须要轻巧的几步就能够安装配置好
puppet,用它来治本大家的服务器功底情形特别的有利。(LCTT 译注:puppet
接纳 C/S 构造,所以必得有起码有一台作为服务器,其他作为顾客端管理)

source=> "puppet://$puppetserver/modules/ssh/ssh/sshd_config",

8. 装置 Puppet 代理节点的软件包

小编们早就思考好了 puppet
的服务器,以后要求三个能够管理的代理节点,我们将设置 puppet
代理软件到节点上去。这里大家要给每二个内需管住的节点安装代理软件,何况保障那么些节点能够通过
DNS 查询到服务器主机。上面将 安装新型的代办软件到 节点
puppetnode.example.com 上。

在代理节点上应用上边包车型客车指令下载 puppet 实验室提供的软件包:

# cd /tmp/
# wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb/

--2015-06-17 00:54:42-- https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
Resolving apt.puppetlabs.com (apt.puppetlabs.com)... 192.155.89.90, 2600:3c03::f03c:91ff:fedb:6b1d
Connecting to apt.puppetlabs.com (apt.puppetlabs.com)|192.155.89.90|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7384 (7.2K) [application/x-debian-package]
Saving to: ‘puppetlabs-release-trusty.deb’

puppetlabs-release-tr 100%[===========================>] 7.21K --.-KB/s in 0.04s

2015-06-17 00:54:42 (162 KB/s) - ‘puppetlabs-release-trusty.deb’ saved [7384/7384]

在 ubuntu 15.04 上大家采用 debian 包管理种类来设置它,命令如下:

# dpkg -i puppetlabs-release-trusty.deb

动用 apt 包管理命令更新一下地面包车型地铁软件源:

# apt-get update

经过远程仓库安装:

# apt-get install puppet

Puppet 代理默许是不运营的。这里大家需求动用文本编辑器修改/etc/default/puppet 文件,使它符合规律干活:

# nano /etc/default/puppet

更正 START 的值改成 “yes” 。

START=yes

提起底保存并脱离。

5. 安顿 Puppet 主要控战胜务器

Puppet
主要控克制务器作为叁个证书发行单位,要求转移它自个儿的证件,用于签定全体代理的证书的乞求。首先大家要刨除全部在该软件包安装进度中开创下来的
ssl 证书。本地暗中同意的 puppet 证书放在
/var/lib/puppet/ssl。由此我们只需求接受 rm
命令来任何移除那一个证件就可以了。

# rm -rf /var/lib/puppet/ssl

前日来布署该证件,在创建 puppet
主要控击败务器证书时,大家要求包含代理节点与主控服务器交换所用的各样 DNS
名称。使用文本编辑器来改进服务器的配置文件 puppet.conf:

# nano /etc/puppet/puppet.conf

出口的结果像下边那样

[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
templatedir=$confdir/templates

[master]
# These are needed when the puppetmaster is run by passenger
# and can safely be removed if webrick is used.
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY

在这里大家供给注释掉 templatedir 这行使它失效。然后在文书的 [main]
小节的末梢添加上边包车型客车音讯。

server = puppetmaster
environment = production
runinterval = 1h
strict_variables = true
certname = puppetmaster
dns_alt_names = puppetmaster, puppetmaster.example.com

再有为数不菲您大概用的到的布置选项。 假如你有亟待,在 Puppet
实验室有一份详细的陈说文件供你读书: Main Config File
(puppet.conf)。

编写实现后保存退出。

行使上边包车型客车授命来生成三个新的证件。

# puppet master --verbose --no-daemonize

Info: Creating a new SSL key for ca
Info: Creating a new SSL certificate request for ca
Info: Certificate Request fingerprint (SHA256): F6:2F:69:89:BA:A5:5E:FF:7F:94:15:6B:A7:C4:20:CE:23:C7:E3:C9:63:53:E0:F2:76:D7:2E:E0:BF:BD:A6:78
...
Notice: puppetmaster has a waiting certificate request
Notice: Signed certificate request for puppetmaster
Notice: Removing file Puppet::SSL::CertificateRequest puppetmaster at '/var/lib/puppet/ssl/ca/requests/puppetmaster.pem'
Notice: Removing file Puppet::SSL::CertificateRequest puppetmaster at '/var/lib/puppet/ssl/certificate_requests/puppetmaster.pem'
Notice: Starting Puppet master version 3.8.1
^CNotice: Caught INT; storing stop
Notice: Processing stop

迄今,证书已经转移。一旦大家来看 Notice: Starting Puppet master version
3.8.1,就标注证书就早就塑造好了。大家按下 CTTucsonL-C 回到 shell 命令行。

查阅新生成证书的新闻,能够应用上边包车型地铁命令。

# puppet cert list -all

+ "puppetmaster" (SHA256) 33:28:97:86:A1:C3:2F:73:10:D1:FB:42:DA:D5:42:69:71:84:F0:E2:8A:01:B9:58:38:90:E4:7D:B7:25:23:EC (alt names: "DNS:puppetmaster", "DNS:puppetmaster.example.com")

service{ "sshd":

4. 使用 Apt 工具锁定主控服务器的本子

几天前早已安装了 3.8.1 版的
puppet,大家锁定那么些本子不让它轻松晋级,因为提拔会促成配置文件混乱。
使用 apt 工具来锁定它,这里大家需求使用文本编辑器来创建一个新的文书
/etc/apt/preferences.d/00-puppet.pref:

# nano /etc/apt/preferences.d/00-puppet.pref

在新创立的文件之中增多以下内容:

# /etc/apt/preferences.d/00-puppet.pref
Package: puppet puppet-common puppetmaster-passenger
Pin: version 3.8*
Pin-Priority: 501

那般在这里后的系统软件进级中, puppet
主要控克服务器将不会尾随系统软件同步提高。

图片 4

ruby install.rb

11. 在主要控克服务器上对注解须求举行签订公约

率先次运维的时候,代理节点会变卦二个 ssl
证书而且给服务器发送多个签名号令。在主要控击败务器给代理节点服务器证书签字之后,主服务器才干和代理服务器通讯况且决定代理服务器。

在主要调节伏务器上应用上面包车型大巴指令来列出近来的表明诉求:

# puppet cert list
"puppetnode.example.com" (SHA256) 31:A1:7E:23:6B:CD:7B:7D:83:98:33:8B:21:01:A6:C4:01:D5:53:3D:A0:0E:77:9A:77:AE:8F:05:4A:9A:50:B2

因为只设置了一台代理节点服务器,所以大家将只见二个呼吁。看起来好像如上,代理节点的完整域名即其主机名。

小心有未有“+”号在日前,代表那么些注明有未有被签字。

选取含有主机名的 puppet cert sign 以此命令来签署那个签字倡议,如下:

# puppet cert sign puppetnode.example.com
Notice: Signed certificate request for puppetnode.example.com
Notice: Removing file Puppet::SSL::CertificateRequest puppetnode.example.com at '/var/lib/puppet/ssl/ca/requests/puppetnode.example.com.pem'

主要控征服务器现在得以通信和决定它具名过的代办节点了。

要是想签定全部的脚下恳请,能够利用 -all 选项,如下所示:

# puppet cert sign --all

本子如下:

7. 运行 puppet 主要控战胜务

一度计划好运营 puppet 主要控克制务器 了,那么开启 apache 服务来让它运维

# systemctl start apache2

我们 puppet 主要控战胜务器已经运维,可是它还不可能管理任何代理节点。今后我们给
puppet 主要控战胜务器增添代理节点.

提示: 假诺报错

Job for apache2.service failed. see "systemctl status apache2.service" and "journalctl -xe" for details.

必然是 apache 服务器有一对标题,我们得以接受 root 或是 sudo
访谈权限来运作 apachectl start 查阅它输出的日记。在本教程施行进度中,
大家开掘二个 /etc/apache2/sites-enabled/puppetmaster.conf
的证件配置难题。改正此中的 SSLCertificateFile
/var/lib/puppet/ssl/certs/server.pem 为 SSLCertificateFile
/var/lib/puppet/ssl/certs/puppetmaster.pem,然后注释掉前边那行 SSLCertificateKeyFile
。然后在命令行重新启航 apache。

enable=>true,//服务是还是不是开机运维

14. 为一定节点配置项目清单

比方大家想安插四个清单到有些特定的节点,大家须求如下配置项目清单。

在主要控克服务器上边运用文本编辑器编辑 /etc/puppet/manifest/site.pp:

# nano /etc/puppet/manifest/site.pp

增加上边包车型大巴剧情进去

node 'puppetnode', 'puppetnode1' {
# execute 'apt-get update'
exec { 'apt-update': # exec resource named 'apt-update'
command => '/usr/bin/apt-get update' # command this resource will run
}

# install apache2 package
package { 'apache2':
require => Exec['apt-update'], # require 'apt-update' before installing
ensure => installed,
}

# ensure apache2 service is running
service { 'apache2':
ensure => running,
}
}

此间的布署展现大家将要名叫 puppetnode 和 puppetnode1
的2个钦点的节点上边安装 apache
服务。这里能够加上任何大家需求设置配备的切实可行节点进去。

总结

近期咱们早已打响的在 ubuntu 15.04 下面布署并运转 puppet
来保管代理节点服务器的根底运营条件。大家学习了 puppet
是什么样行事的,编写清单文件,节点与主机间选拔 ssl
证书认证的表达进程。使用 puppet 开源软件配备管理工科具在不菲的代理节点上来调控、处理和计划重复性职务是极度轻便的。要是您有此外的题目,建议,反馈,与大家得到联系,大家将第一时间完善改正,感激。

开创测量检验节点配置文件,并将ssh加载进去

图片 5

工作流程

安装ruby(puppet正是基于ruby语言开垦的,所以供给安装ruby)

[root@master puppet-2.7.21]# netstat -anpt | grep ruby

Vi /etc/puppet/modules/ssh/manifests/service.pp

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

开发银行ntp服务并展开iptables例外

创立模块主配置文件init.pp

192.168.1.131 master.test.cn

工作原理

3)再一次把服务器的ssh配置文件端口改为9933(换叁个试试)

service iptables stop

图片 6

owner => "root",//文件所属顾客

图片 7

sshd status命令

图片 8

Puppet会让系统保证在大家所愿意的某种情况并间接维持下去,比如:检验有些文件并保管其从来留存,保证ssh服务向来敞开,若是文件被去除了照旧ssh服务被关门了,puppet后一次试行时(默许30分钟),会再一次制造该公文或然运行ssh服务。

在puppetmaster上边配置时间同步,作为ntp的顾客端

mode => "0600",//文件权限

Vi  /etc/puppet/modules/ssh/manifests/install.pp

成立模块配置文件config.php

将测量检验节点载入puppet,即改良site.pp

hasrestart=>true,

图片 9

Service iptables  stop

}

在顾客端查看端口是不是退换

图片 10

[root@master puppet-2.7.21]# iptables -I INPUT -p tcp --dport 8140 -j
ACCEPT

service network restart

Vi  /etc/puppet/puppet.conf,在终极增多一行,使puppet监听8139端口

图片 11

编译安装:

图片 12

图片 13

ensure => present,//鲜明顾客端此文件存在

图片 14

设想机情况

openssh已经设置

[root@centos5]# iptables -I INPUT -p  udp --dport 123 -j
ACCEP**

require=>Class["ssh::config"]    //确认config.pp调用

②需明显期存款在ssh的布置文件

Vi  /etc/puppet/modules/ssh/files/ssh/sshd_config

做事规律和案例遇到

启动puppet客户端

将未注册的客商端举行登记

搭建puppetmaster

安装实现之后检查版本

图片 15

劳务器端的puppetmaster通过facter工具深入分析检查实验顾客端的主机名,然后找到项目主配置文件mainfest里面前蒙受应的node配置,并对该片段剧情展开深入分析。Facter发送过来的音讯能够当作变量管理,node牵扯到的代码才深入深入分析,别的没拖累的代码不深入深入分析,拆解深入分析分为多少个等第,首先举行语法检查,假若语法没有错,就连绵起伏解析,深入分析的结果生成三个个中的“伪代码”,然后把伪代码发送给客商端。

Vi /etc/hosts(加多以下几行)

图片 16

puppet服务证书要求与签字

图片 17

图片 18

创办必要的目录

#先校正/etc/sysconfig/network文件的主机名并修改好脚本中对应的本机ip地址后,实施此脚本,完结后重启系统使主机名更改生效

复制配置文件

[root@centos5]# service iptables save**

图片 19

为了确定保证卫安全全,client和master之间是根据ssl和证书的,独有经master证书认证的client能够与master通讯。

files目录是该模块的宣布目录,puppet提供了一个文本分割机制,相仿rsync的模块。

闭馆防火墙(也可开不相同)

图片 20

转载本站文章请注明出处:vns威尼斯城官网登入 http://www.tiec-ccpittj.com/?p=5446

上一篇:

下一篇:

相关文章