0
点赞
收藏
分享

微信扫一扫

Kubernetes:它是什么来头?为什么它能迅速征服世界?

彪悍的鼹鼠 2022-02-09 阅读 83

Kubernetes:它是什么?为什么它能迅速征服世界?

Kubernetes很时髦,但除非你自己是开发人员,否则你的知识可能不会知道它是什么。Kubernetes非常粗略地说,是一个大规模推广和管理容器的平台。Kubernetes,希腊语为舵手或飞行员,是该项目的第二个名称,最初在Google的大厅里以"Seven of Nine"的名义出现在观众视野。

Kubernetes:它是什么来头?为什么它能迅速征服世界?_服务器

"Project Seven"是"Borg"的外部版本,推动Google服务的任务调度程序,其操作长期以来一直是谷歌的秘密。Borg是十多年前创建的,用于管理Google内的容器。谷歌很快就选择将其内部工作负载放在容器中,因为它能够充分利用稀缺的serverpk。要了解Kubernetes的作用,您首先需要知道容器是什么,以及为什么现在如此时髦。

Kubernetes:它是什么来头?为什么它能迅速征服世界?_服务器_02

想象一下,您希望在云中的服务器上运行应用程序。您很可能在虚拟机中停止应用程序。该虚拟计算机假装是一台物理计算机,因此它看起来像应用程序在真实系统上运行。VM模拟PC的硬件并在操作系统之上运行,例如Windows或您喜欢的Linux发行版。也许您负责一家提供有问题的应用程序即服务的初创公司。无论应用程序是什么,现在我们假设对应用程序的需求正在快速增长。要满足需求,您必须运行该应用程序的多个实例。传统上,您可以通过创建新VM来实现此目的。他们总是必须模拟整个PC,包括完整的操作系统,最后应用程序就可以了。

Kubernetes:它是什么来头?为什么它能迅速征服世界?_docker_03

这意味着应用程序的每个实例都需要大量的服务器,因此您可以快速支付大量的计算能力。如果仅运行操作系统,则VM在CPU和RAM方面具有最低要求。有可能你的应用程序非常轻,并且不需要太多的RAM或处理器能力。这意味着浪费了大量的计算能力,特别贵。而现在,容器可以提供方式。随着早些年Docker的推出而普及的容器可以简单地看作是VM的轻型版本。但是,它们的工作更加智能。容器只包含需要给定应用程序的依赖项,而不是模拟整个PC 。该应用程序实际上是打包在一个盒子里,只包含最平滑的功能。


Kubernetes:它是什么来头?为什么它能迅速征服世界?_应用程序_04

由于容器不会对整个PC进行虚拟化,因此可以更灵活地使用可用硬件。同时,容器比虚拟机小得多,轻得多,只是因为它没有运行完整版本的操作系统。由于容器不会对整个PC进行虚拟化,因此它还可以更灵活地使用可用硬件。容器是在服务器环境中运行应用程序和工作负载的非常有效的技术。如果您的应用程序位于容器中,并且您需要创建多个实例以满足用户的需求,则必须为相同的结果部署更少的服务器和服务器功能。效率和可扩展性是这里的关键词。

Kubernetes:它是什么来头?为什么它能迅速征服世界?_docker_05

不过它的可伸缩性也有其缺点,谷歌在十年前经历过。管理十到二十个容器没有问题,因为你不需要看看Docker Swarm,但是如果你需要数百甚至数千个应用程序实例呢?你有一个拥有数百台服务器的数据中心运行的系统吗?为了保持成本效益,所有这些工作负载必须尽可能高效地分布在可用硬件上。在大规模上,没有IT管理员想要手动执行这样的工作。

Kubernetes:它是什么来头?为什么它能迅速征服世界?_docker_06

当时,谷歌开发了博格作为一种工具来控制大量的集装箱化工作负载。它允许管理员非常容易地推出容器,并接管数据中心中卷起的容器的管理。后来,Google委托Kubernetes作为云计算本地计算基金会的开源项目,该计划从那时起一直在管理平台。Kubernetes成为容器和容器化工作负载的推出和管理的最流行标准。Kubernetes使用Docker容器,这是迄今为止最受欢迎的容器,但也兼容其他容器技术,如LXD或rkt。


Kubernetes:它是什么来头?为什么它能迅速征服世界?_docker_07

该技术使用Kubernetes客户端,Kubernetes master和Kubernetes节点。Kubernetes大师是整个生态系统的大脑,基本上在自己的服务器上运行。Kubernetes节点在其他可用服务器上运行,并且是执行主服务器的员工。在一个pod中,您只能放置紧密协作并使用相同系统资源的容器。不要考虑同一应用程序的多个实例,而是捆绑不同的容器化应用程序,它们共同构成工作负载的一部分。pod中的所有内容始终在同一系统上运行。

Kubernetes:它是什么来头?为什么它能迅速征服世界?_应用程序_08

Kubernetes还可以为例如pods分配标签。在其中,您可以描述容器的功能,或指示其稳定性。这样可以轻松地轻松定位具有特定容器或工作负载的容器。这可能听起来微不足道,但如果您在具有大量应用程序和应用程序实例的大型环境中使用Kubernetes,则它是必不可少的。该复制器可以很容易地重新克隆吊舱和创建新实例。因此,控制器负责扩展工作负载。服务很重要,因为与豆荚相比,它们永远不会消失。虽然复制控制器可以根据需要创建或删除其他pod,但仍保留具有相应端口配置和IP地址的服务。这使得其他应用程序可以查找并连接到服务,无论pod是否处于活动状态。

Kubernetes:它是什么来头?为什么它能迅速征服世界?_docker_09

其他相关功能允许容器和节点共享数据卷,组服务,节点和卷等。简而言之:开发人员或IT管理员想要让自己随身携带容器,在Kubernetes找到自己的味道。从财务角度来看,内置负载均衡器可能是最重要的。这是Kubernetes函数,可确保节点尽可能高效地分布在可用的服务器硬件上。如果必须为每个服务器运行一个节点,则容器将不如传统VM高效。负载平衡器确保节点在需要时整齐地共享服务器电源,或者在需要更多功率时分布在多个服务器上。


Kubernetes:它是什么来头?为什么它能迅速征服世界?_应用程序_10

基于容器和使用Kubernetes编排的IT基础架构非常强大,可扩展且高效。

Kubernetes的最终相关技巧与高可用性有关。Kubernetes让您的节点永久出现在视野中。如果运行节点的服务器出现问题,Kubernetes将尝试自行缓解问题。如果这不起作用,平台将激活一个新节点,该节点可以接管故障节点的任务而无需人为干预。总之,Kubernetes是一个非常技术性的平台,这项技术在短短几年内无处不在,这一点意义非凡。毫无疑问,开源社区将继续扩展Kubernetes的可能性,以便该平台始终能够执行最相关的与容器相关的任务。有一件事是肯定的:Kubernetes是时髦的,并且会长时间保持这种状态。如果你是一个技术人才,我想你应该会非常期待这个东西的普及性,但作为普通人的话,我们也要知道,他可以帮助我们解决很多应用问题。


Kubernetes:它是什么来头?为什么它能迅速征服世界?_docker_11


举报

相关推荐

0 条评论