月度归档:2016年08月

[翻译]为Kubernetes创建自定义Pod水平扩展器

原文链接:Building your own horizontal pod autoscaler for Kubernetes

当前版本(1.3)的Kubernetes为在生产环境中平滑运行容器化应用提供了大量开箱即用的特性。不过一些特性依然不够完善,比如Pod水平扩展器(Horizontal pod autoscaler, HPA)。现在你只能根据CPU和内存使用水平进行扩容调度,自定义指标的调度目前仅在Alpha版本中支持。

我们其中一个应用是一个Websocket服务器,用来处理来自客户端的长连接。然而性能测试显示我们的应用最大可以承载大约25000个Websocket活跃连接,更多的连接数会导致服务器不稳定甚至崩溃,然而这时通常不会引起CPU负载的升高和内存开销的增长。所以让Kubernetes根据Websocket连接数进行扩展调度的需求应运而生。本文介绍了我们创建自定义水平扩展器(HPA)的一些实践。

继续阅读

HTTP/2升级小记

最近H5被插广告愈演愈烈,于是打算给H5增加HTTPS支持。既然都支持了HTTPS,那么HTTP/2也就顺便来支持一下好了,反正SSL证书已经不是问题了。

我们是全容器环境,包括前端机在内,全部跑在容器里,更新前端nginx容器配置即可。Nginx从1.9.5版本开始支持HTTP/2的,查了一下满足条件。从HTTPS到HTTP/2,只需要:

即可。

但是会有一些问题。协议协商包括NPN和ALPN两种,NPN是SPDY时代的产物,HTTP/2定稿时已经被ALPN取代。我们的目标是支持HTTP/2,因此务必支持ALPN。 继续阅读