【51CTO快译】puppet是一种Linux、Unix平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,其设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。
虽然Ubuntu的官方软件源中已经加入了Puppet,但是官方源中的Puppet版本太老,不但很多新功能没有,而且旧版本还可能有bug(比如在Puppet 2.6.4版本中的一个重大bug #6541 会在not-a-checksum MD5不对的情况下清空 file 文件【消息来源】)。结果就是我们仍然不得不手动安装Puppet。
Screenage的博主,资深Linux咨询师与系统管理员Caspar Clemens Mierau提供了两个脚本可以快速安装Puppet,大大简化了安装过程。
客户端安装:
$ bash < <(wget -qO - https://bit.ly/install-puppet-agent)
- 1.
Master安装:
$ bash < <(wget -qO - https://bit.ly/install-puppet-master)
- 1.
(51CTO编辑注:bit.ly是国外流行的短网址服务,实际地址在github上:
https://raw.github.com/moviepilot/puppet/master/tools/install-puppet-agent.sh
https://raw.github.com/moviepilot/puppet/master/tools/install-puppet-master.sh
不放心的朋友们可以自己检查脚本内容。
客户端安装脚本:
#!/bin/bash
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
# refresh package list
apt-get update
# bootstrap ruby env
apt-get -y install irb libopenssl-ruby libreadline-ruby rdoc ri ruby ruby-dev git-core
# get a working gem version and update it to the most recent one
cd /usr/local/src
wget http://production.cf.rubygems.org/rubygems/rubygems-1.5.2.tgz
tar -xzf rubygems-1.5.2.tgz
cd rubygems-1.5.2
ruby setup.rb
update-alternatives --install /usr/bin/gem gem /usr/bin/gem1.8 1
gem update --system
# install puppet itself
gem install puppet --no-ri --no-rdoc
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
Master端安装脚本:
#!/bin/bash
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
# refresh package list
apt-get update
# bootstrap ruby env
apt-get -y install irb libopenssl-ruby libreadline-ruby rdoc ri ruby ruby-dev git-core
# get a working gem version and update it to the most recent one
cd /usr/local/src
wget http://production.cf.rubygems.org/rubygems/rubygems-1.5.2.tgz
tar -xzf rubygems-1.5.2.tgz
cd rubygems-1.5.2
ruby setup.rb
update-alternatives --install /usr/bin/gem gem /usr/bin/gem1.8 1
gem update --system
# install puppet itself
gem install puppet --no-ri --no-rdoc
# we want sqlite3 and rails for stored configs on the puppet master
apt-get -y install sqlite3 libsqlite3-ruby libsqlite3-dev
gem install sqlite3-ruby --no-ri --no-rdoc
gem install rails -v 2.3.11 --no-ri --no-rdoc
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
)
这两行命令会从github获取***的Puppet安装脚本,在你的机器上从Ubuntu官方源获取安装Ruby(版本老了点,但是运行Puppet是没问题的),获取一个上游版本的gem软件(注:gem是打包好的Ruby应用库,可以大大简化Ruby环境的搭建过程。你可以将其想象为红帽的yum机制或Debian的apt-get机制)并将其更新至***版本,***安装Puppet的gem。
原文:http://www.screenage.de/blog/2011/06/06/boostrapping-a-puppet-agentmaster-on-ubuntu/
【编辑推荐】