云网站服务器_国内数据云存储_移动云数据库服务器主机-搜集站云

云存储_华为云相册电脑登陆_新用户

小七 141 0

云存储_华为云相册电脑登陆_新用户

我记得在2013年末,我的推特上充斥着关于Docker的文章。当时我对DevOps不太关心,对容器的了解更是少之又少。但我很喜欢他们的标志,所以我决定看一看,被它打开的可能性给迷住了。

一年后,谷歌宣布推出Kubernetes(K8S),一个开源版本的Borg,一个他们在内部使用了大约10年的集群管理系统。这提供了一种大规模部署、监控和管理容器的方法。

从那时起,名字恰到好处的Kubernetes(希腊语中"governor"的意思)就成了容器编排系统的默认名称,得到了业内一些大公司的支持,有一个充满活力的开放源代码和商业系统生态系统围绕着它并建立在它之上。然而,行业前景如何?它会产生什么样的影响?K8S会彻底改变传统的企业数据中心吗?

要解决这些问题,我们首先需要对底层技术和企业特有的挑战有一个基本的了解。

什么是容器,它们为什么重要?

简单地说,容器是一种软件,它将代码及其依赖项(系统工具、运行时、库、二进制文件…)打包,并在隔离环境中的主机操作系统内核上运行。

这提供了一些好处,例如:–可移植性:容器化软件可以在任何基础设施上一致运行。厌倦了听"但它在我的笔记本电脑上工作!"生产缺陷的借口?这对解决这个问题有很大的帮助,它是现代云的支柱之一。–资源效率和速度:容器的一个关键特性是,与vm(虚拟机)不同,它们不虚拟化硬件,而只是虚拟化操作系统,允许多个容器共享操作系统资源。本质上,淘客api,这意味着可以在同一台机器上同时运行多个容器,从而大大降低了成本。同时,集装箱的启动速度非常快。如果你听说过"无服务器"这个时髦词,那么这就是它成为可能的原因。

虽然容器本身带来了很多好处,但只有在采取下一个合乎逻辑的步骤:容器编排时,改变行业的好处才会变得明显。这正是K8S的用武之地。

什么是容器编排,南昌大数据,为什么它很重要?

现代应用程序,至少是非常大的应用程序,通常不再是单一的;相反,它们由几个松散耦合的组件组成,这些组件需要通信和协同工作。例如,一个应用程序可能使用一个服务进行身份验证,另一个用于从社交媒体流摄取数据,还有一个用于服务分析仪表板。这些服务可以在单独的容器中运行,允许开发人员独立地发布、部署和扩展这些服务。这提供了一个很好的关注点分离,使关键组件的发布周期更快,以及有效的资源分配。

容器编排解决了这种体系结构带来的一些挑战。例如:–自动部署和复制容器–负载平衡–滚动更新(在不停机的情况下更新容器化应用程序)–高可用性:当容器发生故障时,其副本将继续提供服务–自我修复:重新启动失败的容器,杀死没有响应的容器,在节点死亡时替换容器–容器之间的安全通信

应该很明显,上述功能是现代云的支柱之一,并且党解释了为什么K8S现在无处不在。同样很容易理解为什么这种方法特别适合无状态应用程序。但是对于大型企业系统的特殊需求呢?

企业应对挑战

管理状态:让我们马上解决房间里的大象。虽然这不是企业特有的挑战,但却是一个重要的挑战。数据库、缓存和消息队列等有状态应用程序在可移植性方面面临挑战,因为每当容器启动、停止或复制时,都需要维护状态。这在分布式甚至多云环境中尤其具有挑战性。

K8S主要通过卷、持久卷和状态集来解决这一问题。在实践中,所有这些选项都很好地涵盖了许多场景;但目前仍有许多选项没有涵盖,而且通常情况下,容器化有状态应用程序的复杂性往往超过了生产场景中的好处。管理存储和容器化有状态应用程序的问题是一个非常热门的话题,业界在这个方向上投入了大量的精力(例如Ceph、Rook、KubeDirector、KubeDB、RedHat的Operator Framework)

安全:这在企业界是一件大事。尽管容器有许多优点,但它们并没有提供与vm相同的隔离级别。特别是多租户可能是一个挑战。同样,在使容器更安全方面也投入了大量的精力;谷歌开源gVisor就是一个很好的例子,它试图给容器带来更好的隔离,并且它与K8S很好地集成。

高性能计算(HPC):企业数据中心通常在不同类型的服务器上运行各种工作负载,例如,GPU机器意味着运行密集的计算操作,比如ML/AI管道。为了解决这个问题,K8S使用污染和容忍来确保pod被调度到适当的节点(容器运行的物理或虚拟机)。这种方法本质上允许工作负载在适当的基础设施上运行,公司自助建站,并可用于其他情况,例如在DMZ内的机器上运行工作负载。