IBM Bluemix体验:Containers进阶
上一篇中介绍了Bluemix的Containers服务以及如何使用自定义的docker image创建一个容器实例并对外提供服务。除了自定义镜像之外,Bluemix Containers还可以使用Docker Hub上的image来创建容器实例,前提是这些image必须是公共的(public)。
Bluemix的CLI可以完成从Docker Hub复制镜像的任务。
sudo cf ic cpi tomcat: registry.ng.bluemix.net/htcn_us_south_1/tomcat:
执行上述命令后,就把一个tomcat 7的image从docker hub复制到Bluemix的私有repository中了。使用“cf ic”登录到Bluemix和私有repository的url格式在此就不再赘述了,具体请参考上一篇中的介绍。
镜像复制完成,就可以在web控制台中看到并可以使用这个复制过来的镜像创建新的容器实例。

生产环境中高可用是必不可少的。Bluemix的Containers服务提供了scalable group功能以实现docker容器的高可用部署。
在创建新容器实例的页面上选择“Scalable”tab,开始创建scalable group。

注意“HTTP port”字段,这里只能填写image中暴露出来的端口号,即:Dockerfile中EXPOSE的端口号。例如:tomcat镜像中默认expose的端口号是8080,因此需要在HTTP port中填写“8080”。
HOST字段指定一个访问scalable group的公网域名,这里我们指定的完整域名为:“hunter-demo-1.mybluemix.net”。当然这个域名必须是全局(全球)唯一的(这种方式有点像Microsoft Azure的云服务)。公网域名后面对应了一个负载均衡器(GoRouter,一个支持负载均衡的反向代理),将访问流量分发给scalable group里面的每个容器实例。这个负载均衡器看起来比较简单,只是将前端流量以轮询的方式转发到后端。没有会话保持,也没有端口映射。一个比较有特色的功能是:负载均衡器实例上默认绑定了一个ssl证书,直接可以使用HTTPS协议来访问部署在容器实例中的应用,而不需要应用本身支持HTTPS协议!这个功能很容易就让应用支持HTTPS协议,而不需要在web服务器上进行复杂的配置。用户到负载均衡器之间使用HTTPS协议通讯,负载均衡器到应用实例之间使用HTTP协议。
Scalable group创建完成后,通过HOST域名可以访问到部署在容器中的应用。

接下来为scalable group创建auto-scaling policy:

可以根据cpu和memory两个指标来定义容器实例缩放规则。

包括指定在当前scalable group中运行的最大容器实例数量和最小容器实例数量。
Scalable group中的实例支持自动恢复功能。Bluemix Containers服务的"Health Monitor"组件每隔90秒会对每个容器实例中的HTTP服务器进行一次探测,若某个容器实例连续2次探测失败,则该容器实例就会被自动的销毁并重建。

一个scalable group中至少要包含2个容器实例,这样才能确保高可用。配合"auto discovery"功能,个人经验建议在一个scalable group最少包含3个容器实例。
IBM Bluemix体验:Containers进阶的更多相关文章
- IBM Bluemix体验:Containers
国际版的Bluemix目前有三个region,US South,United Kingdom和Sydney.其中US South是功能最全的,UK其次,Sydney功能最少.Containers服务在 ...
- IBM Bluemix体验:Containers持久存储
上一篇介绍了在Bluemix Containers服务中使用docker hub镜像和container的高可用配置.接下来我们尝试如何在容器中使用持久存储. 在Bluemix的Containers服 ...
- 在IBM Bluemix上部署Hyperledger应用
简介 IBM Bluemix (http://www.ibm.com/bluemix)是一个基于cloud的应用开发和部署平台,提供包括多种服务和运行环境的支持.对Hyperledger应用开发者而 ...
- 【OK210试用体验】进阶篇(2)视频图像采集之MJPG-streamer编译(arm移植)
上一篇([OK210试用体验]进阶篇(1)视频图像采集之MJPG-streamer编译(Ubuntu系统下))进行了MJPG-streamer在Ubuntu下的编译及测试,这一篇针对OK210,进行a ...
- 基于IBM Bluemix的数据缓存应用实例
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:IBM® Data Cache for Bluemix 是快速缓存服务.支持 Web 和 ...
- Eclipse上开发IBM Bluemix应用程序
林炳文Evankaka原创作品. 转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要解说了怎样使用安装EclipseIBM Bluemix插件.并在Eclipse ...
- 第一部分:IBM量子体验
(一)量子世界 今天的计算机使用标准的(或用物理学家的话来说,“经典的”)计算模型来执行计算与处理信息,此计算模型要追溯到图灵(Turing)和冯・诺伊曼(Von Neumann)时期.在此模型 ...
- 【OK210试用体验】进阶篇(1)视频图像采集之MJPG-streamer编译(Ubuntu系统下)
转自: http://bbs.elecfans.com/jishu_510084_1_1.html 本篇主要内容分为: 嵌入式视频图像开源库 mjpg-streamer简介 mjpg- ...
- IBM Cognos 10.2 最新体验之旅
IBM Cognos Data Manager 数据集市的构建利器 本文详细的介绍了 Cognos 最新版本 10.2 的数据集市构建器 Data Manager 的使用,对于希望系统了解 Cogno ...
随机推荐
- Compile FreeCAD on Windows
Compile FreeCAD on Windows eryar@163.com 1.Introduction FreeCAD是一个参数化的三维造型软件,主要用于任意大小的实际模型的设计.参数化的建模 ...
- 《JS设计模式笔记》 5,适配器模式
//适配器模式的作用就像一个转接口. jQuery("#"+id); $id=function (id) { return jQuery("#"+id)[0]; ...
- 前端开发工具vue.js开发实践总结
最近有很长时间没有更新博客了,换了公司,全部的心思都放在项目上了.通过这次项目的上线,让我感受最深的是前后端分离后,前端页面的模块化管理,以及前端页面的数据邦定.在接触vue.js之前,我之前端要用到 ...
- JSON(及其在ajax前后端交互的过程)小识
一. json介绍 json是一种轻量级的数据交换格式,规则很简单: 并列的数据之间用逗号(,)分隔: 映射用冒号(:)表示: 并列数据的集合(数组)用方括号([])表示: 映射的集合(对象)用大括号 ...
- DDD 领域驱动设计-如何完善 Domain Model(领域模型)?
上一篇:<DDD 领域驱动设计-如何 DDD?> 开源地址:https://github.com/yuezhongxin/CNBlogs.Apply.Sample(代码已更新) 阅读目录: ...
- 「译」JUnit 5 系列:架构体系
原文地址:http://blog.codefx.org/design/architecture/junit-5-architecture/ 原文日期:29, Mar, 2016 译文首发:Linesh ...
- react-native ListView使用详解
刚好今天七夕,呆萌的程序猿没有妹纸,刚好发小明天结婚,我还在异地,晚上还要苦逼的赶火车.趁着下午比较闲,更新一下Blog,也算是在百无聊赖之时给众多单身程序猿们的小福利吧,虽然已经好久没更了...囧 ...
- Basic Tutorials of Redis(5) - Sorted Set
The last post is mainly about the unsorted set,in this post I will show you the sorted set playing a ...
- C#基础-MD5验证
一.前言 MD5验证主要用于更新文件功能方面,服务器告知客户端要下载哪些更新文件并提供给客户端其MD5值,客户端从服务器将更新文件下载到本地并计算下载文件的MD5值,将本地接收的MD5值与服务器提供的 ...
- 【C#】无损转换Image为Icon
如题,市面上常见的方法是: var handle = bmp.GetHicon(); //得到图标句柄 return Icon.FromHandle(handle); //通过句柄得到图标 此法的问题 ...