wcdz 发表于 2018-8-2 08:28:05

自动化运维puppet(1)

  工具:puppet,saltstack,ansible
  puppet 老牌
  saltstack 效率高 适用大基数平台
  ansible轻量 功能全
  puppet安装配置
  两台机器:
  192.168.1.100(服务端)
  192.168.1.101 (客户端)
  两台机器关闭selinux,清空iptables规则,并保存,设置hostname
  hostname设置的名字与hosts里的名字一样。
  服务端和客户端:
  /etc/sysconfig/network 修改hostname
  编辑hosts文件
  100和101全部为
  192.168.1.100master.puppet.com
  192.168.1.101   client.puppet.com
  然后可以在机器上ping一下看能不能通;
  两个时间同步,yum install -y ntp
  ntpdate pool.ntp.org >/dev/null 2>&1
  在客户端和服务端:
  安装puppet 源
  rpm -ivh "http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm"
  安装好了之后在ls /etc/yum.repos.d/下面有一个puppet的源;
  yum list
  安装服务端程序
  yum install -y puppet-server服务端
  启动服务
  servicepuppetmaster start
  开机启动
  chkconfigpuppetmaster on
  客户端安装程序
  yum install -y puppet            客户端
  /etc/init.d/puppet start
  chkconfig puppet on
  客户端修改配置文件
  vim /etc/puppet/puppet.conf   最后添加
  listen = true
  server = master.puppet.com
  ruminterval = 30 //主动更新间隔
  service puppet start
  //etc/init.d/puppet restart 这是重启
  这个时候可能还是会查询不到端口 客户端在连接时端口才会启动。
  puppet配置认证
  master client 相互认证才能沟通
  puppet cert list --all//列出所有的客户端 (签名与未签名都列出来)
  puppet cert sign master 签名注册
  puppet cert sign master.puppet.com
  列表时前面带+号则认证成功
  puppet cert clean web10 host删除签名
  puppet cert --clean all 清空证书
  rm -rf /var/lib/puppet/ssl/*
  /etc/init.d/puppet restart
  puppet配置自动签发证书:
  puppet cert --clean all host清空证书
  rm -rf /var/lib/puppet/ssl/* client清除ssl相关文件
  在host端创建自动签发配置文件
  vim /etc/puppet/autosign.conf
  *.puppet.com         加入一个域vim /etc/puppet/puppet.conf
   后加入一行
  autosign = true   //支持自动签名
  //etc/init.d/puppetmaster restart host重启
  //etc/init.d/puppet restart
  在client上
  vim /etc/puppet/puppet.conf
   后加入一行
  server = master.puppet.com
  runinterval = 10
  rm -rf /var/lib/puppet/ssl/*
  /etc/init.d/puppe restart client重启
  重启后即可得到签名
  如果client不启动puppet服务,可通过命令签发
  puppet agent --test --server master.puppet.com
  测试:
  服务端上
  vi /etc/puppet/manifests/site.pp
  加入如下内容:
  node default {
  file {
  "/tmp/123.txt": content => "test,test";
  }
  }
  客户端上如果没启动puppet
  puppet agent --test --servermaster.puppet.com
  这样会在客户端上生成一个 /tmp/123.txt的文件,并且内容为 testtest。
  要想服务端没有客户端的证书rm -rf /var/lib/puppet/ssl/*。
页: [1]
查看完整版本: 自动化运维puppet(1)