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

[经验分享] 使用 Puppet 在 Windows Azure 中配备 Linux 和 Windows 环境

[复制链接]

尚未签到

发表于 2015-11-26 15:19:51 | 显示全部楼层 |阅读模式
发布于 2013-12-11作者 Ross Gardler  微软开放技术有限公司 (MS Open Tech) 很高兴地宣布发行新的 Windows Azure Puppet 模块。通过这个模块,可以使用流行的开源 DevOps 工具 Puppet 在 Windows Azure 上提供 Linux 和 Windows 虚拟机。产品的支持以Puppet专属 Windows Azure 模块的形式发布在 PuppetForge 上。此外,还支持网络配置和数据库等关键服务的管理。这样一来,Puppet 用户现在可以在 Windows Azure 中运用 Puppet Forge 上超过 1800 种社区制定的配置。
  微软开放技术的工程师们在开发这个模块的过程中着眼于增强流行 DevOps 工具之间的互操作性。DevOps 的重点是软件开发与 IT 运营之间的协作管理。它强调的是日益灵活的软件开发团队(要求迅速变更)与需要提供最大运行时间(变更可能影响可靠性)的运营团队之间的协同和融合。DevOps 旨在使这两个团队能够更有效地进行交流与合作。适用于 Windows Azure 的 Puppet 模块是保证 Puppet 用户能够在 Windows Azure环境下利用其技术的重要一步。
  Windows Azure Puppet 模块提供了您准备下列 Windows Azure 服务所需的全部工具:

  • 虚拟机——Linux 和 Windows
  • 虚拟网络——创建逻辑上隔离的 Azure 区段并将它们安全地连接到您的内部客户端和服务器
  • SQL 服务器——创建和维护您的 SQL 数据库
  此外,Windows Azure 用户现在还可访问 Puppet Forge 上 1800 多个现有的由社区定义的模块。
  “能够使用 Puppet 在 Windows Azure 中配备虚拟机,从而利用 Puppet Forge 上由社区提供的各种大量模块对于许多 Puppet 用户而言非常具有吸引力。”Puppet Labs, Inc. 业务与公司发展副总裁 Mitch Sonies 表示,“我们认为,该模块对于在 Puppet 社区内推动 Azure 的使用是非常重要的一个步骤,我们希望看到社区的使用率和产业生态系统的贡献不断壮大。”
  Puppet 和 Azure 入门
  Puppet 是一套能够在开发与生产环境中实现 IT 基础设施的配置、配备和管理自动化的开源软件。它使用一种易于阅读的声明性语言对“理想状态”的机器配置进行描述。Puppet 使用这种描述将机器设置到理想状态并保持这种状态。关于 Puppet 的更多信息,请参考 Puppet Labs 网站上的详细文档
  微软开放技术的成果分为两部分。第一部分是 Puppet Manifests,它描述了可用 Puppet 管理的 Windows Azure。第二部分是跨平台命令行接口 (CLI)。通过 CLI 和 Manifests,可以很容易地管理 Linux 和 Windows 虚拟机、虚拟网络, 地缘组以及 SQL 服务器。其目标是实现开发、测试和部署环境的性能最大化。
  虚拟机管理
  虚拟机能够按需提供可扩展的计算机设施。Windows Azure 可同时提供多种配置的Windows 服务器和 Linux 服务器。要配置一台新的虚拟机并安装 Puppet代理(以便以后通过 Puppet 管理),您可使用以下命令:
  puppet azure_vm create \
--management-certificate pem-or-pfx-file-path \
--azure-subscription-id=your-subscription-id \
--image b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-13_04-amd64-server-20130501-en-us-30GB \
--location 'west us' \
--vm-name vmname \
--vm-user username \
--password ComplexPassword \
--puppet-master-ip yourPuppetMasterIPAddress

  下表列出了全部操作。如要查看某个操作的可用选项列表,则执行“puppet help node-azure ACTION-NAME”命令。
操作描述bootstrap在一台现有的 Windows Azure 虚拟机中安装 Puppet 节点Create创建 Windows Azure 虚拟机Delete删除 Windows Azure 节点实例Images列出 Windows Azure 镜像locations列出 Windows Azure 位置Servers列出 Windows Azure节点实例shutdown关闭 Windows Azure节点实例Start启动 Windows Azure节点实例  管理虚拟网络
  通过 Azure 虚拟网络,您可在 Azure 中创建一个在逻辑上隔离的区段,并使用 IPSec连接将它安全地连接到您的内部数据中心或客户机。这样您就能通过本地开发机器与 Azure 中的虚拟机之间的直接连接来更方便地对应用程序进行远程调试。使用虚拟网络,您可以使用与在内部开发工作中相同的工具对应用程序进行故障排除和调试。
  此外,您还能利用这个功能在混合环境中构建分布式应用。例如,Windows Azure 中的 Web 应用程序可安全地访问内部数据库服务器或在内部认证服务器上对用户进行认证。
  要创建一个虚拟网络,可运行以下命令:
  puppet azure_vnet set --management-certificate pem-or-pfx-file-path \
--azure-subscription-id=your-subscription-id \
--virtual-network-name vnetname \
--affinity-group-name ag-name \
--address-space '172.16.0.0/12,192.168.0.0/16' \
--dns-servers 'dns1-1:10.10.8.8,dns2:172.8.4.4' \
--subnets 'subnet-1:172.16.0.0:12,subnet-2:192.168.0.0:29'

  其他可用的操作有:
操作描述List列出虚拟网络Set配置虚拟网络set_xml_schema使用 xml 架构配置虚拟网络  管理 SQL 数据库服务器
  很多应用程序都需要一个数据库服务器,因此我们提供了使用 Puppet 来创建和配置 SQL 数据库的命令。可使用这样的命令来创建服务器:
  puppet azure_sqldb create --management-certificate pem-or-pfx-file-path \
--azure-subscription-id=your-subscription-id \
--management-endpoint=https://management.database.windows.net:8443/ \
--login loginname \
--password ComplexPassword \
--location 'West Us'

  Manifest 文件
  Manifest 文件是让您可以快速和可重复地按预定义的“理想状态”来部署虚拟机的一些定义、引用和命令的集合。除了上面描述过的 CLI 外,我们还提供了 Puppet 用来配置 Windows Azure 服务的 manifest 文件。作为 Windows Azure 模块的一部分,这些 Manifest 可从 PuppetForge 上下载,您也可对它们进行修改,以满足您的特定要求。我们提供的manifest 有:

  • bootstrap.pp——允许创建一个新的 Puppet 节点
  • db.pp——创建一个新的 SQL 服务器实例
  • init.pp——定义一个 Windows Azure 类,以方便地部署到关联的 Windows Azure 帐户
  • vm.pp——从一个虚拟机镜像创建一个新的虚拟机
  • vnet.pp——创建一个新的虚拟网络
  下一步是什么?
  微软开放技术很高兴实现了在 Windows Azure 中使用 Puppet。这是我们持久承诺的一个重要部分,其目的在于确保 DevOps 工具的用户能在 Windows Azure 环境中尽可能地利用他们的技术。
  本文转载自:
  http://cn.msopentech.com/blog/2013/12/11/%e4%bd%bf%e7%94%a8-puppet-%e5%9c%a8-windows-azure-%e4%b8%ad%e9%85%8d%e5%a4%87-linux-%e5%92%8c-windows-%e7%8e%af%e5%a2%83/

运维网声明 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-143999-1-1.html 上篇帖子: 使用 Chef 管理 Azure 资源 下篇帖子: Python开发入门与实战18-Windows Azure 虚拟机部署
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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