ycvodzf 发表于 2018-8-3 09:33:21

Puppet工具的使用

  最近一直在看刚买的那两本书,趁着热乎劲,就把看到的内容整理出来,留着以后复习用,今天来学习一下Puppet工具的使用。
  puppet是基于Ruby写成的自动化部署工具,c/s结构,工作模式是在服务器端安装puppet-server包,在客户端安装puppet客户端软件,当客户端连接上puppet master后,定义在master的配置文件会被编译,然后在客户端运行。
  实验环境一台centos6.2(10.0.0.16,主机名:baidu.com,master)
  centos6.0(10.0.0.7,主机名:shanker.com,client)。
  先ntpdate更新好两台电脑的时间,ntpdate ntp.api.bz
  安装Puppet需要的软件包,用yum安装
  yum -y install mysql mysql-devel mysql-server ruby-devel ruby-irb ruby-mysql ruby-rdoc ruby-ri
  书上作者说Puppet不支持ruby1.8.7以上版本,但是我安装的是1.8.7是支持的
  

  


[*]# ruby --version
[*]ruby 1.8.7 (2011-06-30 patchlevel 352)
[*]#
  

  然后下载最新的 puppet-2.7.10.tar.gz和facter-1.6.5.tar.gz ,地址在http://puppetlabs.com/downloads/{facter,puppet}里可以找到。
  先安装facter,tar zxvf facter-1.6.5.tar.gz
  cd facter
  /usr/bin/ruby install.rb
  然后安装puppet,解包,然后ruby install.rb
  

  


[*]mkdir /etc/puppet
[*]
[*]cp conf/auth.conf   /etc/puppet/
[*]
[*]cp conf/redhat/fileserver.con /etc/puppet/
[*]
[*]cp conf/redhat/puppet.conf/etc/puppet/
[*]
[*]cp conf/redhat/server.init/etc/init.d/puppetmaster
[*]
[*]chmod +x /etc/init.d/puppetmaster
[*]
[*]chkconfig --add puppetmaster
[*]
[*]chkconfig puppetmaster on
[*]
[*]mkdir /etc/puppet/manifests
  

  创建puppet帐号
  puppdtmasterd--mkusers,如果这条命令执行错误,那就是代表以前创建过puppet的用户,只要自己手工创建就可以解决。
  groupadd puppet
  useradd -g puppet puppet
  然后创建相应的目录
  mkdir -p /var/lib/puppet/rrd
  chown puppet:puppet /var/lib/puppet/rrd
  启动服务
  /etc/init.d/puppetmaster start
  ______________________________________________________________________
  下面是客户端的配置,安装都是一样
  复制配置文件
  

  


[*]mkdir /etc/puppet
[*]
[*]cp conf/auth.con /etc/puppet
[*]
[*]cp conf/namespaceauth.con /etc/puppet
[*]
[*]cp conf/redhat/puppet.con/etc/puppet
[*]
[*]cp conf/redhat/client.init /etc/init.d/puppet
[*]
[*]chmod +x /etc/init.d/puppet
[*]
[*]chkconfig --add puppet
[*]
[*]chkconfig puppet on
  

  创建puppet帐号
  puppetd --mkusers
  建立puppet相应目录
  mkdir -p /var/lib/puppet/rrd
  chown puppet:puppet /var/lib/puppet/rrd
  启动服务
  /etc/init.d/puppet start
  然后向server端发出请求指令
  puppet --test --server baidu.com
  puppet server端要接受客户端的请求
  puppetca -s -a
  -a表示接受全部请求
  客户端在发一次请求
  puppetd --test --server baidu.com -w
  6
  shell会出现蓝色的字体
  


  下面进行内容测试
  在服务器端/etc/puppet/manifests 下建立site.pp
  内容如下
  

  


[*]# cat /etc/puppet/manifests/site.pp
[*]node default{
[*]file { "/tmp/test.txt":
[*]      content =>"this is a test 02/03/2012,hello, this is from shanker server",
[*]      ensure =>present,
[*]      owner=> root, group=>root, mode=>440,
[*]}
[*]}
  

  然后在客户端在执行
  puppetd --test --server baidu.com -w 6
  


  实验到此结束,感觉puppet博大精深,我只领会到一点,以后工作中用到了 好好学习学习。
页: [1]
查看完整版本: Puppet工具的使用