Sunday, 10 April 2016

部署自动化码头工人的WebLogic集群上任何云

在任何云部署自动化码头工人的Web逻辑集群

--------------------------------------------------------------------------------------------------------------------
重要提示:扩展拉杜Dobrinescu图像(radudobrinescu / wls12c:2.0),可能不符合甲骨文的软件许可协议,请确保访问Oracle的GitHub的项目获得的Oracle WebLogic泊坞窗https://github.com/oracle/docker/tree /主/ OracleWebLogic

免责声明-这是工作仍然在进行中。此博客是为开发/测试环境。

背景

部署DevOps的Java开发人员和长期努力的自动化企业Java应用程序的专业人士。复杂性通常意味着外部依赖和这些应用的集成的应用程序必须重新配置中在每个应用程序的开发/测试环境时间部署。
所通告的应用程序部署了许多解决方案“模式一次,随地部署”的消息。然而,在现实中总是有复杂的,因而难以再利用的应用模板跨越两个预设类型的vSphere虚拟环境和AWS环境的,例如。
然而,最近多克尔通用集装箱可以作为发动机安装部署在应用程序组件的包装进入Linux容器上的同一Linux主机码头工人是准确的想法一样长。
不幸的是集装箱运输企业Java应用程序仍然是主要是由于现有的应用程序框架的组成不涉及复杂的依赖关系,外部整合的挑战或自动缩放的工作流程,提供就业岗位。此外,该容器设计简要意味着新容器的开发者必须旋转和重新创建与每一个版本更新复杂的依赖关系和外部结合。
DCHQ,在托管和内部部署版本解决了所有这些挑战,并通过扩展在图像环境变量绑定写的泊坞窗,可扩展的bash脚本插件,您可以要求在申请早期创作框架简化了在容器中的企业Java应用程序或供应,应用集群和呼叫和自动缩放后,支持在多个主机或高可用性。
当应用程序提供商,您可以监控CPU,内存和I运行容器/ O,接收通知和警报,并使用bash脚本插件类似的备份计划为期2天的操作和放大和缩小更新容器。此外,包装盒外的工作流程,并促进持续交付詹金斯使开发人员能够刷新应用程序运行的Java WAR文件而不会破坏现有的依赖和整合。
在这篇博客中,我们将根据泊坞窗 - 终端到终端的自动化的WebLogic集群部署。我们将包括:

  • 建设随时随地在任何Linux主机应用程序模板上再使用运行的WebLogic集群
  • 配置和自动缩放底层基础设施任何云(和Rackspace公司在这个博客为例)
  • WebLogic集群中Rackspace的云服务器上部署
  • 在购物车的Java WAR文件Deployment Manager服务器
  • 访问是在浏览器的集装箱码头运行
  • 建筑被触发更新运行的应用程序的WAR文件传递过程,使连续詹金斯
  • 监控CPU,内存和我跑集装箱I / O

构建应用程序模板的Oracle WebLogic 12c的集群

一旦登录到DCHQ(无论是在现场还是托管DCHQ.io版),用户可以浏览到应用程序和设备,然后点击+按钮,并选择多克尔撰写创建一个新的码头工人写作模板。
我们已经建立了我们的形象使用自定义图像拉杜Dobrinescu(radudobrinescu / wls12c:2.0)的WebLogic集群应用程序模板。
你会发现,在CLUSTER_SIZE参数允许你指定容器释放的数量(与依赖于相同的应用程序)。我们用这种方法来定义的托管服务器集群的规模。
主机参数允许您指定容器用于部署主机。这种方式可以确保不同的主机(或地区)的应用服务器集群的高可用性,您可以使用关联性规则,如确保数据库的独立主机上运行。这里是主机支持的参数:
  • 主机1,主机2,在host3上,等等-随机选择的数据中心或主机群集部署容器
  • <IP地址1,IP地址2,依此类推> -允许用户指定实际使用的容器部署的IP地址
  • <主机名1,主机名2等> -允许用户使用容器部署到指定的实际主机名
  • 通配符(例如,“DB-*”或“应用-srv- *”) -指定使用通配符的主机名
此外,用户可以参考环境变量的另一图像在整个环境变量绑定创建一个图像。在这种情况下,我们在这个绑定建立了CAES:ADMIN_HOSTNAME = {{AdminServer中的| IP}} - 知识产权管理服务器主机的动态解析的请求的时间,并确保管理服务器连接到服务器的建立和管理。
这里是支持的值的环境变量的列表:
  • {{字母|}}。8 - 创建八个随机字符的字母数字字符串。这是最有用的创建一个随机密码。
  • {{<映像名称> |}} IP - 允许你输入一个集装箱的主机IP地址​​作为环境变量。此中间件层用于建立到最有用的数据库的连接。
  • {{<映像名称> | container_ip}} - 允许你输入一个集装箱船作为环境变量的名称。此中间件层用于建立与数据库(数据库端口不露出)的最有用的安全连接。
  • {{<映像名称> | container_private_ip}} - 允许你输入一个集装箱作为一个环境变量的值里面的IP。此中间件层用于建立与数据库(数据库端口不露出)的最有用的安全连接。
  • {{<映像名称> | _端口<端口号>}} - 允许你输入一个集装箱端口号的环境变量。此中间件层用于建立到最有用的数据库的连接。在这种情况下,指定的端口号必须是一个内部端口号 - 未分配到容器口的外部。例如,{{PostgreSQL的| port_5432}}将被转换为实际的外部端口,将允许中间件层建立到数据库的连接。
  • {{<映像名称> | <环境变量名称>}} - 允许您将图像的输入值的环境变量环境变量的另一种形象。在这里,我们使用例是无止境的 - 因为大多数应用将有图像的多层互相关。
图片
实际施工码头工人的WebLogic图像可以DCHQ和自动化。用户可以点击图片 生成,然后单击+按钮。用户可以创建或使用Dockerfile有上Dockerfile私有/公共GitHub的投影图像。
的WebLogic形象,我们与拉杜Dobrinescu图像(radudobrinescu / wls12c:2.0)创建建( https://hub.docker.com/r/radudobrinescu/wls12c/ )。我们做了一些改动,以我们自己的Dockerfile图像,然后推新形象,我们自己的仓库(dchq / weblogic的:最新的)。图像的构造可以使用cron表达式进行调度。此外,用户可以使用{{}}时间戳在变量名创造了一个独特的标签名称每个新版本。因此,用户可以恢复旧的备份映像。

图片

配置和自动缩放任何云基础设施

一旦应用程序被保存,用户可以注册自动配置云提供商和云包含在vSphere中,OpenStack的和的CloudStack,亚马逊网络服务,Rackspace公司,微软Azure,DigitalOcean 13个不同的端点,HP通用集群自动缩放云,IBM的SoftLayer的,谷歌计算引擎,和其他许多人。
首先,用户可以导航到一个云提供商Rackspace公司注册的公司(例如) Ç 响亮的供应商,然后单击+按钮选择Rackspace公司。Rackspace公司需要API密钥提供公司-这可以从您的账户,Rackspace的云控制面板的设置部分进行检索。

然后,用户可以创建自动缩放策略的簇自动旋转了一个新的云服务器。这可以通过导航来完成集群页面,然后单击+按钮。您可以选择将基于容量的一种策略,那么以促进跨多个主机安全跨容器连通编织,密码保护的集群网络层英寸
现在,用户可以浏览到提供一些新创建的云计算集群服务器的机器 ,然后点击+按钮选择Rackspace公司。一旦云提供商被选择时,用户可以选择区域,大小和图像需要。然后,选择群集,可以指定云服务器的数量。

部署WebLogic集群Rackspace的云服务器

一旦云服务器配置的,用户可以部署一个多层次,新的基于云计算的服务器泊坞窗Java应用程序。这是通过导航到自助图书馆完成,然后点击了多层应用程序来完成要求定制。
用户可以选择环境变量(如DEV或QE)Rackspace公司的集群创建前,单击运行。
一旦提供的WebLogic聚类,用户可以访问管理服务器控制台,以确保管理服务器是发现和运行。网址是HTTP:// <admin_server_host_ip>:7001 /台湾。默认的凭据是在WebLogic / welcome1。

图片

部署使用的购物车插件框架的Java WAR文件

一旦WebLogic集群中启动并运行,用户可以执行bash脚本,Java插件部署war文件服务器。在这种情况下,我们简单地调用插件的管理服务器购物车应用程序部署。从操作菜单中,用户可以选择部件,然后选择将要执行的插件的容器(S)。然后,用户可以搜索插件和覆盖暴露的参数。
图片
在这个简单的插件,我们可以部署在远程访问服务器的应用程序要抓住三个文件。
  • deploy.py
  • deploy_app.sh
  • shoppingcart.war
这里是实际使用的文件:deploy.py ---------------------
图片
deploy_app.sh
---------------------
图片

集装箱码头的访问浏览器运行

在旁边的容器在页面上实时应用名称的命令提示符图标应该的。这允许用户通过代理使用安全通信协议,消息队列到容器中。白名单命令可以由管理员的租户被定义为确保用户不运行任何不利变动的船只。
在这种情况下,我们使用命令提示,以确保该文件不deploy.py下载到管理服务器。做一个简单的猫/oracle/fmwhome/wlst_custom/deploy.py - 我们能够验证文件确实在容器上存在。
图片
然后,我们访问管理服务器控制台,并导航到部署,以确保购物车应用程序部署。
图片
最后,我们的HTTP访问的实际应用:// <admin_server_host_ip>:7001 /购物车
图片

监控CPU,内存和容器运行I / O利用率

一旦应用程序运行起来,我们的开发人员能够监控CPU,内存和I运行容器/ O接收警报,当这些指标超过预定阈值。当我们的开发者执行功能测试和负载测试尤其有用。
用户可以更新历史监控分析和集装箱相关的问题或为部署。这可以通过点击应用程序菜单运行和监视的动作同时进行。自定义日期范围,你可以选择查看CPU,内存和I / O的历史。
图片

当启用了持续交付WAR文件更新工作流程与詹金斯建设运行的应用程序被触发

对于那些谁想要重建应用程序代码中包含泊坞窗和图像的每一个新的应用程序更新纺容器跟随发展的“不可改变的”容器模型,DCHQ提供自动生成功能,使开发人员能够自动创建一个包含图片或私有的GitHub泊坞窗项目Dockerfiles Dockerfiles。
然而,许多开发人员可能需要使用Java WAR文件服务器上运行容器的最新应用来代替。为此,DCHQ允许工作流开发詹金斯和持续交付。这可以通过点击应用程序菜单中运行的操作来进行,然后选择连续交付。用户可以选择注册DCHQ一个詹金斯例如,在詹金斯实际工作中,会产生一个新的WAR文件,然后bash脚本抓住这个小部件和应用程序服务器和在部署中运行。一旦这一政策被保存,DCHQ会抓住最新一代詹金斯WAR文件触发的任何时间和运行部署的应用程序服务器。
需要注意的是bash脚本小部件可以进行定制,以确保采取正确的顺序WebLogic Server的步骤。例如,用户可能希望使用一些脚本来部署之前运行特定的部署计划或没有,然后部署新的WAR文件。
开发人员,因此总会在运行最新的Java WAR文件容器中的开发/测试环境部署。
图片

结论

集装箱企业Java应用程序仍然是主要是由于现有的应用程序框架的组成不涉及复杂的依赖关系,外部整合或工作流后会自动调整以提供一个挑战。此外,该容器设计简要意味着新容器的开发者必须旋转和重新创建与每一个版本更新复杂的依赖关系和外部结合。
DCHQ,在托管和内部部署版本,解决了所有这些挑战,并提前通过应用程序框架的组合在图像有利的环境变量绑定,可以延长bash脚本调用插件简化了企业Java应用程序容器应用程序或时间后搁置和应用集群和自动缩放,支持多个主机或高可用性区域。
在免费注册 http://DCHQ.io或下载 DCHQ在-Pemise
外箱访问多层的Java应用程序模板,如监视应用程序生命周期管理功能,集装箱更新,沿着输入/输出和持续的交付规模。

No comments:

Post a Comment