加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 云计算 > 正文

Kubernetes太复杂,那是因为复杂才能解决你的问题

发布时间:2023-02-27 10:54:15 所属栏目:云计算 来源:
导读:难道 Kubernetes太复杂?

我经常被问及Kubernetes 是否复杂。在这篇文章中,我将逐一讨论这些论点并给出答案。当您需要和不需要 Kubernetes 时,我也会向您解释。

与虚拟机相比,使用容器的优势

在了解 Kube
难道 Kubernetes太复杂?

我经常被问及Kubernetes 是否复杂。在这篇文章中,我将逐一讨论这些论点并给出答案。当您需要和不需要 Kubernetes 时,我也会向您解释。

与虚拟机相比,使用容器的优势

在了解 Kubernetes 本身的复杂性之前,我们需要了解一下 Docker 容器,因为它也增加了复杂性。这种复杂性值得吗?

几乎每个人都会同意,即使您决定不使用 Kubernetes,您仍然应该使用 Docker。在没有 Kubernetes 的情况下,将 Docker 容器部署到 AWS 或其他云提供商也不难。您只需要在虚拟机上设置一个运行 Docker 守护进程。

Docker 容器的主要优点是它们是独立的包。它们将应用程序的环境与其运行的机器分离。您不再需要关心主机上存在什么库或 Python 版本,因为 Dockerfile 使您的依赖关系明确。如果它可以在您自己的机器上运行,那么它也可以在任何相同CPU架构上的机器运行。Docker 不完全是基础设施代码,但 Dockerfiles 确实允许您将应用程序运行时定义为 git 存储库中的一个简单文件。

Docker 容器的另一个好处是它们是分布式应用程序,专为不可变基础架构的世界而设计。换句话说,它们被设计成无状态的。容器本质上是短暂的。如果他们死了并重新启动也没关系。

什么时候不需要使用 kubernetes

当满足以下四个条件时,您不需要 Kubernetes:

将极少数容器部署到极少数机器(主机),换句话说你的用户数量有限。

 实际容器和实验用的机器的数量相对而言是比较静态的,否则就不会经常出现大规模的扩容或者缩容

您的容器和机器不会经常出现故障。

您不需要持久存储、负载均衡、配置管理、服务发现、自动修复、自动缩放等其他功能。或者您确实需要这些功能,但您的要求非常有限并且不介意供应商锁定。

换句话说,如果您有简单的要求,那么有一个更简单的 Kubernetes 替代方案。您可以将容器直接部署到运行在几个虚拟机上的 Docker 守护进程。

复杂的需求就需要复杂的解决方案

当您拥有的业务正在快速成长,用户量激增,那么您可能确实需要 Kubernetes:

您的应用需要处理可变的用户负载量

您需要使用计算之外的其他云服务- 例如,持久存储、负载均衡器、配置管理等。

节点过多,经常出错,您的应用需要自动恢复能力

您希望以一致的方式管理多个应用程序和系统

您有上百个团队在相同的环境中工作或使用彼此的微服务

其它复杂场景

对于上述要求,您需要引入容器基础设施,这意味着为大规模、动态地部署 Docker 容器并将它们相互连接以及与其他云服务(如存储)进行优化的基础设施。

该基础设施最流行的形式是 Kubernetes。如果这些是您的要求,为什么不运行 Kubernetes?当然它很复杂,但是满足这些要求的每个解决方案都将具有相似的复杂性。

至少对于 Kubernetes,复杂性是开源的,并且以声明式 Kubernetes API 的形式标准化。这优于其他公共云或内部解决方案。然而,在某些情况下,复杂性可能导致混乱,因为它需要大量的资源。例如,如果一个节点的数据库被破坏,那么整个系统都会受到影响。
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!