阿凡达

查找上个博客JulioDevOps系列

继续开发DevOps序列,我想与你探索一些具体工具和程序,帮助实现软件自动化如果你参与应用生命周期 我确信你对能让你工作更容易的任何事物都感兴趣

微服务包管理器更容易部署复杂库贝涅斯应用

诸位在微服务工作时可能已经注意到,应用会变得非常复杂。应用架构方面,你很快会发现自己处理多容器/平台问题,需要启动/停止在不同环境新部署(测试、中转、QA生产)。工具包所有需要微服务 并轻松地启动/停止依存

赫姆库伯内特斯打包管理器帮助定义、安装和升级复合库贝涅茨应用免应用单列表,可轻易打包并部署应用包被称为图表,并实际部署发布

并提供惊人的技巧能力, 但对于这个柱子,我们只使用它帮助应用打包

Helm有两个组件:客户端(与服务器通信的本地代理)和服务器(所谓的tiller,运行于k8s集群内)。Tiller使用k8sAPI服务器部署k8s集群所需资源

第一件事你需要做的是安装Helm客户端.

Mac用户可安装Helm客户端

酿酒安装kubernetes-hem

使用托管k8s集群Google库贝内特斯引擎GKE,像我们用前一柱子.

kkE集群上下文指针定时 所有节点都准备就绪

kubectl配置获取文本kubectl获取节点

使用您的掌舵客户端部署k8s集群中的拖拉机服务器并命令简单

掌舵 init

列表所有可用稳定图表包包 :

舵搜索

或查找特定对象,例如WordPress

掌上搜索词压

举WordPress为例WordPress平台开源web/blog网络服务器前端和数据库组成如果您想人工部署它,你至少需要管理和配置互操作性两个容器:一个网络服务器和一个数据库

Helm帮助你提供图表,所有事物都为您配置,这样你就可以很容易地部署全程序使用:

hand安装-name my-wp稳定/wordpress

Helm返回表示如何访问WordPress部署(URL、用户名和密码)。

确定您的播客(wordpress和mariadb)运行并准备1/1

kubectl获取播客

等待新WP加载Balancer服务获取外部IP地址

kubectl获取服务

外部IP地址托管后,您可以从浏览器访问新WordPress部署易,是吧?

Helm还允许你自创图表,所以我们何不为Myhero创建图表?那样我们就不必处理所有单项清单,而容易安装全程序单命令

Helm基于纹理, 所以我们可以创建一些带参数的模板, 并用服务方和部署方的值即时化但是,只要这不是Helm教程,我们就不使用模板并轻而易举地操作

注意,如果你没有跟踪我前几页,你现在就需要克隆反演重播,使用:git克隆https://github.com/juliogomez/devops.git)

进入编辑目录并创建新掌上型目录

mkdir重构

请求创建新掌上图 myhero应用

掌舵创建 myhero

进入模板目录并删除所有模板(我们不需要模板)并复制所有 myhero清单

m././k8s/gce/*.yml

取出目录 创建新 myhero掌舵图 取 Myhero-01.0.tgz文件

./.掌舵打包 Myhero

使用简单进程,你现在可用单命令部署 myhero应用

掌舵安装-名称掌舵 Myhero-0.1.0.tgz

watchsserviceset创建

kubectl获取skubectl服务

请注意,一中讨论前一柱子,如果想从互联网访问应用,则需要确定名称解析3主机名(spark-myho、i-myho和api-myo)更新新IP地址

完成测试后,可轻易删除 myhero应用程序,再次单用简单命令

掌舵删除-清洗掌舵 Myhero

Congratulations!现在你知道如何打包软件, 以便操作开发者或其他开发者很容易部署到其他环境

即时开始实现软件生命周期自动化.见我的下一站,我们将讨论持续整合、交付和部署保持监听

问题或评论请通知我微博LinkedIn.


我们想听听你的想法问题或留言下文
并保持连接思科DevNet社会

微博@CiscoDevNet|脸书|LinkedIn

访问新开发者视频通道



作者类

阿凡达

Julio gomez

可编程性引导EMEAR

系统工程师