Kubernetes集群与HACMP集群

时间:2019-01-01 04:22:03

标签: linux docker kubernetes docker-container failovercluster

HACMP集群通过IBM lpar或AIX物理机箱提供高可用性功能

类似地,

Windows虚拟机中的MSCS群集服务

用于Linux / Windows虚拟机的Veritas群集


kubernetes集群服务与这些集群服务有何不同?

1 个答案:

答案 0 :(得分:1)

主要区别

TL; DR背景故事

集群=组合多个协作服务器以完成某些单独的服务器(“节点”)无法单独完成的任务。

您提到的集群产品(HACMP,MSCS等)是在1990年代设计的(并且随着时间的推移而发展),其主要目的是提供比任何单个服务器都无法保证的更高的应用程序/服务可用性。给定适当的启用集群的应用程序,数据库和中间件,如果集群中的一台服务器出现故障或遭受严重故障,则该应用程序/服务将继续在其余节点上运行而不会中断。在最佳情况下,这几乎可以消除计划外或计划内的停机时间。

Kubernetes集群具有一些高可用性功能,但是从完全不同的世界观开始-20年后,HACMP和朋友开始了。在IT中,20年=整个世代。 Kubernetes和类似的集群(例如Docker Swarm)希望每台服务器托管多个``容器''(打包的工作负载),而不是单个应用程序/工作负载。操作系统容器是应用程序/系统/服务虚拟化的轻量级形式,而在HA群集的大部分生命周期中,主流应用程序基本上都不存在。

任何平台的抽象和功能都在不断发展,以适应常见工作负载上预期出现的问题。对于Kubernetes而言,这意味着每台服务器可能有多个工作负载,在应用程序/服务的生命周期中会进行大量更新,网络是软件连接的主要方式,并且动态性强/不断变化。应用/服务上线。这些不是HA群集或它们运行的​​软件的期望,设计标准或普遍性。除了容器(例如Docker)与基本操作系统提供的许多抽象外,Kubernetes还提供了许多抽象和工具来跨大型服务器集群同时并动态地``协调''许多应用程序/服务。例如。 Pod(一组多个容器一起操作)和StatefulSets(用于管理共享的持久状态)。 HA群集包含一些概念/功能,这些概念/功能超出了单个服务器的范围(例如,服务定义,连接拓扑,心跳,故障转移策略)。这些可以被认为是容器和Kubernetes设施的原始形式。但是,在互联网,横向扩展,虚拟化,云和DevOps革命之后出现的Kubernetes这样的平台,其规模和动态性比任何1980年代或1990年代出生的HA集群都要强大得多。

如果HA集群是农业时代的马车,Kubernetes将是在州际公路上运行的现代牵引车。两者都可以实现“进入市场”,尽管规模不同,期望和基础设施也大不相同。

最后,由于Kubernetes专注于规模和动态性,因此其许多工作负载并未针对可用性进行全面优化-至少不是以“必须永远,永远地保持运行!这就是HA群集的重点。