设为首页 收藏本站
查看: 1264|回复: 0

[经验分享] 利用puppet管理配置IIS

[复制链接]

尚未签到

发表于 2015-9-16 11:34:12 | 显示全部楼层 |阅读模式
  先简单介绍下puppet,puppet是一个基于ruby的开源的运维自动化管理工具,在linux平台应用广泛。它的部署方式为c/s,需要在服务器端和客户端分别安装对应的程序。该工具的支持公司也推出了企业版puppet(10个节点下免费),puppet在2.6版本后开始支持windows客户端,注意服务端还只能安装在linux平台下,你可以点这里下载对应的版本。
  如果你还没用过puppet,可以点这里了解如何安装和配置服务器端和客户端。
  好了,切入正题,puppet管理IIS需要用到一个插件:simondean-iis,详情,在服务端可以通过下面的命令来安装该插件



puppet module install simondean-iis
  安装完成后在服务端puppet/modules下会多出一个名称为iis的文件夹,该模块会在部署IIS的时候同步到windows客户端。
  现在介绍下simondean-iis,它其实是通过调用appcmd来实现iis配置,看下他的对象和属性:
  iis_apppool:这是建立应用程序池的对象
  iis_site:这是建立站点的对象
  iis_vdir:这是建立虚拟目录的对象
  iis_app:这是建立应出程序的对象
  每个对象的属性可以参看simondean-iis的详情页。
  下面给出简单的示例,我们在服务端的puppet/manifests/目录下建立个iis_example.pp,内容如下



     file {'c:/puppet_iis_demo':
ensure          => directory,
}
file {'c:/puppet_iis_demo/default.aspx':
content         =>
'<%@ Page Language="C#" %>
<!DOCTYPE html>
<html>
<head>
<title>Managed by Puppet</title>
</head>
<body>
<h1>Managed by Puppet</h1>
<strong>Time:</strong> <%= DateTime.UtcNow.ToString("s") + "Z" %>
</body>
</html>'
      }
iis_apppool {'PuppetIisDemo':
ensure                => present,
managedpipelinemode   => 'Integrated',
managedruntimeversion => 'v2.0',
}
iis_site {'PuppetIisDemo':
ensure          => present,
bindings        => ["http/*:25999:"],
}
iis_app {'PuppetIisDemo/':
ensure          => present,
applicationpool => 'PuppetIisDemo',
}
iis_vdir {'PuppetIisDemo/':
ensure          => present,
iis_app         => 'PuppetIisDemo/',
physicalpath    => 'c:\puppet_iis_demo'
}
  pp文件是puppet的配置说明文件,puppet会将这些配置文件分发到相应的客户端,上面的文件创建文成后,我们在manifests/site.pp,文件中增加一行



import "iis_example.pp"
  这样在puppet客户端同步服务端配置的时候,首先将simondean-iis模块同步下来,如果客户端以前已经同步,第二次将不会再同步,然后获取要应用客户端的配置,在这里即iis_example.pp文件的信息,之后应用这些配置信息。最终你会发现在IIS管理器上网站和应用程序中新增了一个站点puppetiisdemo。上面的配置中各属性跟iis相应的对象是对应的,很好理解,这里需要另外说下,我们在通过GUI界面建立站点的时候,并不需要建立应用程序和虚拟目录,但是这个插件实现上是需要我们单独来配置,也就是iis_vdir绑定到iis_app,iis_app绑定到iis_site.pp。我想在用界面建立站点的时候实际上也是这样的步骤,只是把步骤封装在一个操作里了。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-114420-1-1.html 上篇帖子: Puppet 3.2.1发布,集中式系统管理工具 下篇帖子: Create Virtual Machines with Vagrant and Puppet
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表