平台服务已经走过了漫长的道路。它们变得越来越受欢迎,也在推动真正的多云互操作性——Catalyst Cloud的研发负责人Fenet Wang表示(这是一个基于OpenStack的新西兰公有云)。
他补充说,OpenStack和Kubernetes的结合正在成为一种标准选项,允许用户的云原生应用程序同时受益于虚拟机和容器。Wang和同事Xingchao Yu谈到了公司的历程,并在最近的Linux Conf Australia上分享了一个演示。
托管 vs. 裸机
第一个问题是,为什么你会使用托管的Kubernetes服务,而不是仅仅在裸机上构建一些东西。
Wang引用了两个最近的例子——Atlassian的艰难Kubernetes经历;GitHub上一个关于Microsoft AKS生产就绪的讨论。“建立一个生产就绪的Kubernetes服务并不容易,这就是为什么我们分享我们的故事。”
生产就绪意味着什么?
对工程师而言,生产就绪意味着什么有很多不同的看法。在Catalyst,使用四个因素对其进行定义:强大的数据安全性、高可用性弹性、良好的性能和可扩展性以及易用性。
强大的数据安全性
•由Keystone支持的RBAC
•网络策略
•滚动升级和打补丁
良好的性能/可扩展性
•网络性能
•存储性能
•部署集群的时间
•水平可扩展性(自动缩放)
高可用性/弹性
•高度可用的主节点
•高度可用的工作节点
•自动修复
最后,易于使用。Wang表示,Catalyst的大多数客户都使用Terraform或Ansible与OpenStack API对话。对于使用Magnum的容器编排,Catalyst还提供了一个用于管理集群的API。
他还指出,他们开放了所有工作,以便社区可以从中受益。他们在上游工作的内容包括:健康检查和自动修复、滚动升级、Octavia入口控制器和DNS服务Desinate的入口控制器。
然而,一切并不总是顺风顺水。Wang谈到了创建一个生产集群时的滞后(15分钟)。用户在多个主服务器前面获得两个负载均衡器,因此对于后面的两个负载均衡器,OpenStack需要创建至少四个工作机器来获得负载均衡器。这意味着要创建三个主节点和两个或三个工作节点以进入生产——这是一个“非常大的堆栈”,但“我们正在努力改善这一点。”他说。
Wang指出,另一个限制是从Docker Hub获取Kubernetes Docker镜像。当用户创建集群时,OpenStack Magnum需要与Docker Hub交流这些镜像,无论它们存储在何处(最有可能在新西兰境外),都会产生延迟。 Catalyst计划创建本地容器编排以解决此问题。
Catalyst Cloud提供了展示如何使用两个模板通过几次点击就创建Kubernetes集群的演示(https://www.youtube.com/watch?v=gTYht0dKLoY&feature=youtu.be&t=2384)。
原文链接:
http://superuser.openstack.org/articles/how-to-get-production-ready-kubernetes-in-openstack-public-clouds/
获取更多开源云技术资讯&大咖交流&免费活动,欢迎添加开源云中文社区小助手,备注开源云!
(长按识别二维码添加)