自动化运维工具Puppet(管理资源)_Ubuntu_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • Ubuntu

    当前位置:主页 > 服务器教程 > Ubuntu >

    自动化运维工具Puppet(管理资源)

    时间:2019-08-12|栏目:Ubuntu|点击:
  • 此次实例为安装配置httpd

    mkdir -p /etc/puppet/modules/httpd/{files,manifests,templates} 创建httpd模块文件已经此目录下的相关文件夹

    cd /etc/puppet/modules/httpd/manifests

     

    vim install.pp                           #定义安装httpd资源模块

    class httpd::install {                   #定义类为httpd::install 

        package {"httpd":               

            ensure => present,

        }

    }

     

     

    vim config.pp                            #定义配置文件资源

    class httpd::config {

        file {"/etc/httpd/conf/httpd.conf":

        ensure => present,

        source => "puppet:///modules/httpd/httpd.conf",    #实际路径在/etc/puppet/modules/httpd/files/httpd.conf

        require => Class["httpd::install"],                #依赖与httpd::install 

        notify => Class["httpd::service"],                 #变更后通知httpd::service

        }

    }

     

     

    vim service.pp                            #定义启动httpd服务

    class httpd::service {       

        service {"httpd":

        ensure => true,                    #启动httpd服务

        enable => true,                    #设置httpd开机自启动

        require => Class["httpd::install","httpd::config"]    #依赖模块

        }

    }

     

     

    vi init.pp                                #总模块

    class httpd {

        include httpd::install,httpd::config,httpd::service #调用其他模块

    }

    定义修改完成的httpd.conf

    egrep -v "^$|^#" /etc/httpd/conf/httpd.conf > /etc/puppet/modules/httpd/files/httpd.conf      #将原httpd.conf中的以#开头的和空白字符去掉存放到httpd模块的files目录下

    定义总的puppet-1资源文件

    vim /etc/puppet/manifests/nodes/site.pp

    node 'puppet-1' {

        include httpd

    }

    wKiom1nnHBOgizngAABZiw-zN4I390.png

    此时puppet master已经定义好了puppet-1节点的http服务的安装,修改配置文件,启动,并设置开机自启动,在puppet-1 手工测试

    puppet agent --test

    wKiom1nnHGbDJAcYAAEoUmTzleM546.png


    自动化运维工具Puppet(管理资源)

    查看http已经安装,配置文件更新完成,启动并设置开机自启动。

    wKioL1nnGkuAqCtgAAELAWryhK4144.png


    一、模版管理

    模板应用(添加虚拟主机配置):

    文件存放在templates目录中,以*.erb结尾。

    在以上模块管理的基础上,使用模版来配置httpd虚拟主机

    # vim /etc/puppet/modules/httpd/manifests/init.pp 

    class httpd {

        include httpd::install,httpd::config,httpd::service

    }

     

    define httpd::vhost($domainname) {

    file {"/etc/httpd/conf.d/${domainname}_vhost.conf":

        content => template("httpd/httpd_vhost.conf.erb"),

        require => Class["httpd::install"],

        notify => Class["httpd::service"]

        }

    file {"/var/www/$domainname":

        ensure => directory

        }

    file {"/var/www/$domainname/index.html":

        content => $domainname

        }

    }

    创建虚拟主机模版

    vim /etc/puppet/modules/httpd/templates/httpd_vhost.conf.erb

    <VirtualHost *:80>

    ServerName <%= domainname %>

    DocumentRoot /var/www/<%= domainname %>

    ErrorLog logs/<%= domainname %>_error.log

    CustomLog logs/<%= domainname %>_access.log common

    </VirtualHost>

     

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

    node puppet-1 {

        include httpd                                        #调用httpd模块

        httpd::vhost {'puppet-1':

    上一篇:自动化运维工具Ansible使用教程

    栏    目:Ubuntu

    下一篇:约瑟夫问题 C语言链表实现

    本文标题:自动化运维工具Puppet(管理资源)

    本文地址:http://www.jh-floor.com/fuwuqijiaocheng/Ubuntu/20009.html

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号