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

9b29a25208e67a77192664ee95b5913a.pngKubernetes 是否过于复杂?

我经常被问及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 的形式标准化。这优于其他公共云或内部解决方案。

没有 Kubernetes 和 Docker 的企业基础架构

这是仇恨者的典型主张:

Kubernetes 和 Docker 是不必要的,因为自动缩放很容易,systemd 可以自我修复,云提供商有用于持久卷的 API,备份应该用主机上的 cronjobs 完成,秘密用 MyFavoriteSecretVault 完成,Consul 做配置管理,服务发现是 DNS ,健康检查不是必需的,Reddit 上的一个家伙在他的上一家公司写了一个 3000 行的 Perl 脚本用于滚动更新,因此显然 Kubernetes 是不必要的。

对于这些人,我只能说祝你好运。此外,您重新发明了 Kubernetes。

让初学者更容易使用 Kubernetes

Kubernetes 的最大缺点是它预先加载了很多复杂性,但是复杂性是合理的,这就导致又很多东西需要预先学习。

推荐

A Big Picture of Kubernetes

Kubernetes入门培训(内含PPT)


随手关注或者”在看“,诚挚感谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值