多容器集群怎么实现?

公司内部多个容器集群,有统一管理平台吗,Kubernetes 有解决方案吗,是怎样实现的?

参与6

2同行回答

顾黄亮顾黄亮课题专家组技术总监畅销书作者
现在很少有 Kubernetes管理多容器集群的案例,目前主流的是管理多 Kubernetes集群的方式来达到管理多容器集群。Kubernetes在1.3版本之后,增加了“集群联邦”Federation的功能。这个功能使企业能够快速有效的、低成本的跨区跨域、甚至在不同的云平台上运行集群。这个功能可...显示全部

现在很少有 Kubernetes管理多容器集群的案例,目前主流的是管理多 Kubernetes集群的方式来达到管理多容器集群。Kubernetes在1.3版本之后,增加了“集群联邦”Federation的功能。这个功能使企业能够快速有效的、低成本的跨区跨域、甚至在不同的云平台上运行集群。这个功能可以按照地理位置创建一个复制机制,将多个Kubernetes集群进行复制,即使遇到某个区域连接中断或某个数据中心故障,也会保持最关键的服务运行。在1.7版以后支持本地多个集群联邦管理,不需要使用依赖云平台。
1、管理多个Kubernetes集群
“集群联邦”在架构上同Kubernetes集群很相似。有一个“集群联邦”的API server提供一个标准的Kubernetes API,并且通过etcd来存储状态。不同的是,一个通常的Kubernetes只是管理节点计算,而“集群联邦”管理所有的Kubernetes集群。
2、跨集群服务发现
Kubernetes有一个标准的插件:kube-dns,这个插件可以在集群内部提供DNS服务,通过DNS解析service名字来访问kubernetes服务。Kubernetes服务是由一组KubernetesPOD组成的,这些POD是一些已经容器化了的应用,这些POD前面使用到了负载均衡器。假如我们有一个Kubernetes集群,这个集群裡面有一个服务叫做MySQL,这个服务是由一组MySQL POD组成的。在这个Kubernetes集群中,其他应用可以通过DNS来访问这个MySQL服务。集群联邦federation/v1beta1API扩展基于DNS服务发现的功能。利用DNS,让POD可以跨集群、透明的解析服务。
3、跨集群调度
为了追求高可用性和更高的性能,集群联邦能够把不同POD指定给不同的Kubernetes集群中。集群联邦调度器将决定如何在不同Kubernetes集群中分配工作负载。通过跨集群调度,我们可以:(1)跨Kubernetes集群均匀的调度任务负载。(2)将各个Kubernetes集群的工作负载进行最大化,如果当前Kubernetes集群超出了承受能力,那麽将额外的工作负载路由到另一个比较空闲的Kubernetes集群中。(3)根据应用地理区域需求,调度工作负载到不同的Kubernetes集群中,对于不同的终端用户,提供更高的带宽和更低的延迟。
4、集群高可用,故障自动迁移
集群联邦可以跨集群冗馀部署,当某个集群所在区域出现故障时,并不影响整个服务。集群联邦还可以检测集群是否为不可用状态,如果发现某个集群为不可用状态时,可以将失败的任务重新分配给集群联邦中其他可用状态的集群上。

收起
银行 · 2020-06-11
浏览1151
mtming333mtming333课题专家组系统架构师某电子支付
试试rancher显示全部

试试rancher

收起
互联网服务 · 2020-06-16
浏览1190

提问者

vmware2010
项目经理深圳联友科技
擅长领域: 云计算容器容器云

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2020-06-11
  • 关注会员:3 人
  • 问题浏览:1981
  • 最近回答:2020-06-16
  • X社区推广