加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Puppet 搭建与部署,看这一篇就够了

发布时间:2019-09-05 17:58:27 所属栏目:建站 来源:何以重见
导读:Puppet工作原理 让管理员只集中于要管理的目标,而忽视实现的细节。puppet既可以在单机上使用,也可以以C/S结构使用。在大规模使用puppet的情况下,通常使用C/S结构,在这种结构中puppet客户端只运行puppetclient,Puppet服务端只运行puppetmaster。具体的

1)创建必要的目录:

  1. [root@master ~]# cd /etc/puppet/ 
  2. [root@master puppet]# mkdir -p modules/ssh/{manifests,templates,files} 
  3. [root@master puppet]# mkdir manifests/nodes 
  4. [root@master puppet]# mkdir modules/ssh/files/ssh 
  5. [root@master puppet]# chown -R puppet modules/   #修改权限 

2)查看/etc/puppet/modules/ssh目录下的结构

  1. [root@master puppet]# ll modules/ssh/ 
  2. 总用量 0 
  3. drwxr-xr-x. 3 puppet root 17 8月   6 21:32 files 
  4. drwxr-xr-x. 2 puppet root  6 8月   6 21:31 manifests 
  5. drwxr-xr-x. 2 puppet root  6 8月   6 21:31 templates 

3)创建模块配置文件install.pp

  1. [root@master puppet]# vim /etc/puppet/modules/ssh/manifests/install.pp 
  2. 输入以下信息(首先确定客户端已安装ssh服务):class ssh::install{ 
  3. package{"openssh": 
  4.   ensure=>present, 
  5.   } 

4)创建模块配置文件config.pp

  1. [root@master puppet]# vim /etc/puppet/modules/ssh/manifests/config.pp 
  2.  
  3. class ssh::config{ 
  4. file {"/etc/ssh/sshd_config":     #配置客户端需要同步的文件 
  5. ensure=>present,                  #确认客户端中有此文件 
  6. owner=>"root",         #文件属主 
  7. group=>"root",         #文件属组 
  8. mode=>"0600",          #文件权限属性 
  9. source=>"puppet://$puppetserver/modules/ssh/ssh/sshd_config", 
  10. #从服务端同步文件 
  11. require=>Class["ssh::install"],      #调用install.pp确认ssh已经安装 
  12. notify=>Class["ssh::service"],       #如果config.pp发生变化,通知service.pp 

5)创建模块配置文件service.pp

  1. [root@master puppet]# vim /etc/puppet/modules/ssh/manifests/service.pp 
  2. class ssh::service{ 
  3. service { "sshd": 
  4. ensure=>running,     #确认ssh运行 
  5. hasstatus=>true,     #puppet该服务支持status命令,类似于service sshd status 
  6. hasrestart=>true,    #puppet该服务支持restart,类似于service sshd restart 
  7. enable=>true,        #服务器是否开机启动 
  8. require=>Class["ssh::config"]     #确认config.pp调用 

6)创建模块主配置文件init.pp

  1. [root@master puppet]# vim /etc/puppet/modules/ssh/manifests/init.pp 
  2.  
  3. class ssh { 
  4. include ssh::install,ssh::config,ssh::service  #将配置文件加载到ssh类中去 

7)此时/etc/puppet/modeles/ssh/mainfests目录下有四个文件

  1. [root@master puppet]# ll /etc/puppet/modules/ssh/manifests/ 
  2. 总用量 16 
  3. -rw-r--r--. 1 root root 248 8月   6 21:40 config.pp 
  4. -rw-r--r--. 1 root root  60 8月   6 21:46 init.pp 
  5. -rw-r--r--. 1 root root  64 8月   6 21:38 install.pp 
  6. -rw-r--r--. 1 root root 165 8月   6 21:42 service.pp 

8)建立服务端ssh统一维护文件

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读