理论上管理微服务最好的方法是在 Docker 容器里将每个微服务打包,用 Kubernetes 里的 RC 和 Service 来运行并管理它。
这样你就 get 到容器了,可以自动伸缩,有高可用,基于服务发现、负载均衡都是免费的 DNS,还有很多监测管理微服务的工具,比如集中日志,度量报警,持续交付管道和 ChatOps 等等。
然而,如果你还不能移动到 Docker 或者现代 Linux 中会怎么样呢?或许你还没有容器化,或者你正在使用一个旧的不支持 Docker 的 Linux 分布,或者你目前必须在 Windows,Solaris,AIX 或者 HP-UX 上运行你的应用程序?但是没有时间移动到 Linux 上?
谁说 Kubernetes 一定需要 Docker?无法 docker 化的企业的福音来了,用 K8S 和 Ansible 在 Windows 和 Unix 上编排操作系统。
那么,什么是 kansible 呢?
kansible 是一个可以在任意版本的安装使用 Ansible 的 Windows 或者 Unix 上面运行本地操作系统的进程的简单工具,然后进程就可以通过 Kubernetes 编排,伸缩和负载平衡。
它可以允许你使用 Ansible 所有的功能通过可重用剧本(比如,安装一个 JVM,设置用户和文件权限,或者随便什么其它的)来安装和配置软件。
再加上你开始着手使用 Kubernetes,来管理你所有的 Docker 容器和本地操作系统进程。这样,你也能通过 Kubernetes 享受到运行微服务的优点。
服务发现和负载均衡
手动和自动缩放的高可得性
健康监测与自动重启,以及准备检查(为了保持负载均衡是正确的)
集中日志,度量和警报
一致的控制台,CLI 和 REST API 通过 Kansible 和 Docker 容器跨进程运行。
我们正在查看在 JBoss Fuse7.X 中使用 Kansible,所以我们可以提供一个一致的微服务平台,基于 fabric8,不管顾客用的是 Windows 还是任意 Unix,也不管他们有没有使用 Docker。
本文转载自才云 Caicloud 公众号。
原文链接:https://mp.weixin.qq.com/s/CN-4Rv_7OFfqg4F1HD54Sw
评论