slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
为什么 Kubernetes 将维持下一个 50 年
17611538698
webmaster@21cto.com

为什么 Kubernetes 将维持下一个 50 年

资讯 0 1628 2022-10-14 09:47:26

图片

从 2014 年创建以来,Kubernetes 作为容器编排器的优势已被业界广泛承认。 

Kubernetes 有诸多优势,接下来列表如下:

  • Kubernetes 为声明式,让你专注于应该发生的事情,而不是考虑如何发生;

  • Kubernetes 允许开发团队提供 API(即 yaml 文件)来实现关注点分离,无需担心诸如控制简单维护之类等操作问题;

  • Kubernetes 拥有一个庞大且快速增长的生态系统,适用于容器之上的特定领域工作流。比如,你可以使用 Kubeflow 运行机器学习工作流。

  • Kubernetes 支持快速开发、持续集成和部署以及高效回滚等敏捷方法。 

  • Kubernetes 在你的开发、测试和生产环境中提供一致性。


我们接下来讨论 Kubernetes 为中小企业带来的益处。

事实上通过开源 Kubernetes,仅谷歌就让世界上的每个开发者都可以使用一流的工具,它延展了亚马逊在推出 AWS 时开始的云计算革命,而这次改进了软件方面而不是硬件方面。

我们从一个完全不同的角度来看待 Kubernetes。

Kubernetes 作为云操作系统

Kubernetes 是一个容器编排器。但容器编排器到底是什么?为了回答这个问题,让我们先回到过去。

想象一下,在 70 年代后期,你领先比尔盖茨,创建了世界上第一个用于个人计算机的操作系统。

这时候的你该怎样推广它? 

也许你受先贤指引,把它称为“进程编排器”;因为这个系统允许用户同时运行多个进程并编排它们,它们运行时子进程不会相互干扰。

哦,你不喜欢这个名字?好吧,于是你也选择了叫“操作系统”这个词,并且从那以后一直持续到现在。

关键特性是,操作系统管理在同一台机器上运行的多个进程。它允许你在来自不同供应商的硬件上运行相同的应用程序。

它从软件程序开发人员那里抽象出硬件。

Kubernetes 做了以上这些,当然还有更多特性。但如今云不仅仅是整个数据中心,而硬件是像 AWS 或 GCP 这样的云服务商。

这对某些人来说听起来好像有些牵强。我也要明确一点,我肯定了不相信 Kubernetes 作为一种“云计算操作系统”会导致其它正式的操作系统(如 Linux 或 Windows)过时,后者才是正宫,肯定会继续存在。

另外,Kubernetes 集群中的每个节点仍然是在运行 Linux 系统。但是如果我们把数据中心看作为一个整体,那么它也有一个操作系统,这个操作系统便是 Kubernetes。

为什么我们需要云操作系统

我们来思考一下企业采用云的宏观原因,云计算的标准化为何如此有吸引力。

云计算的可扩展性,向上或向下、按需付费或“按使用付费”模型,这使“上云”成为大多数企业的标准解决方案。

云计算的易用性以及自助服务的能力意味着在用户侧成本更低,效率最高。

这些皆始于软硬件向虚拟化的转变,但是“容器”的概念,通过减少每个单独工作负载的间琰加速了这一过程。容器将最小计算单元减少到单个应用程序的计算单元,不再是包含所有应用程序的整个操作系统计算单元。

但是,所有容器都需要管理,就像必须管理单个机器上的进程一般。此外,底层基础设施本身须以公平有效的方式进行管理与分配。

最后,你还需要保持在不同云之间自由移动,避免供应商锁定。 

以上这些,其实都是操作系统所关心的,从资源管理到调度再到硬件抽象层。

巨大的范式转变

我们以前实际见过这种情况。

当手机首次出现时,Android和iOS等移动操作系统相继出现了。在此之前,当世界从大型机转向个人计算机时,先后发明了 Windows 、macOS等其他 PC 操作系统。

图片

在每种新的情况发生,计算范式的转变,都会导致需要一种能够满足新平台需求的新操作系统。 

操作系统都提供什么?  

在较高级别上,操作系统管理资源。更详细和确切地说,有磁盘、GPU 和内存等物理资源,还有文件和用户等虚拟资源。

操作系统获取所有全部资源并对其进行管理,它在不同进程之间公平有效地分配它们。

时间也是一种资源。操作系统通过集中调度程序对正在运行的进程之间分配 CPU 时间。

操作系统还负责数据进出内存的移动,它为终端服务提供了一个接口,当然,通常(尽管不总是)配备了一个图形界面来帮助操作员(或更多用户)。说到用户,操作系统管理它们的访问权限并维护安全性 。

从这个角度来看,Kubernetes OS 开始变得更有意义,因为所有这些服务都是由 Kubernetes 在你的数据中心环境中提供的。

并行的 Kubernetes 操作系统

让我们做一些名词替换,使类比更自然。

例如,我们可将 Linux 进程和线程与 Kubernetes 中的 pod 和容器进行比较,可以将 CPU 与节点进行比较。因此将进程调度到 CPU ,现在等同于将 pod 调度到节点。

Linux 的核心理念是“一切都是文件”;在 Kubernetes 中,则相当于“一切都是 etcd 中的 yaml 资源”或“一切都是 CRD”。这也是操作系统为简化用户和开发者生活,而实施的一种标准化形式。在 Linux 系统中,每个文件都使用标准 API,每个资源都以相同的方式打开和写入;在 Kubernetes 中,一切都是 etc 资源,并且也有和Linux类似的特点。

当谈到硬件抽象时,两个操作系统也有相像之处。Linux 使用驱动程序来访问不同的硬盘驱动器,而 K8S 的CSI 的工作方式则完全相同。这让用户无需担心云端磁盘的配置,可以即时访问存储设备。 

展望未来

从计算机的概念出现,以及随后的操作系统出现以来的 80 多年里,我们使用计算机的方式只发生了几次重大的范式转变,但每一次都对人们的生活产生了深远的影响。 

每个人都记得 Windows 和 Mac 首次面世的时间。每个人还记得智能手机何时首次与 iOS 和 Android 一同使用。现在,随着向云计算的转变,Kubernetes 正在引领类似的转变,包括系统结构。

与之前的 Windows、Linux、iOS 和 Android 一样,Kubernetes 将持续存在。

资料来源:

  • https://kubernetes.io/docs/concepts/overview/what-is-kubernetes

  • https://blog.sparkfabrik.com/en/kubernetes-key-benefits-for-companies

  • https://medium.com/paitech/a-brief-history-of-operating-systems-b63b1a38fcc0

作者:大雄

评论