云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

阿里云_数据库统计信息_评分榜

小七 141 0

cdn服务商_如何选择_企业研发管理软件

这篇文章最初是在这里发表的。自2015年以来,社区一直在进行Kubernetes多集群之旅,在这一过程中我们学到了很多。当我们在圣地亚哥接近库贝肯北美时,我想反思一下我们是如何走到今天这个地步的,它的起源和SIG的目标是什么。简论库伯内特斯Kubernetes最初是一个容器编排器,它建立在Docker迅速普及的基础上,Docker是一个容器化工具,负责使容器变得非常容易,因而在构建、运行和分发容器方面很受欢迎。Kuetes和其他著名的Cloud orchestration项目是在同一时间开始的,与其他著名的Cloud orchestration类似。人们可以说,其他项目有不同的目标,要么集中在不同的地方,要么应该放在不同的地方。例如,Mesos是一个通用的调度程序。不过,我认为他们一直是直接竞争对手。Kubernetes成为了一个明显的赢家,它不仅成为有史以来最成功的开源项目之一,而且是整个行业事实上的容器编排平台。引用kubernetes.碘文献它已经发展成为一个"自动化部署、扩展和管理集装箱化应用程序的系统",被所有主要的云供应商所采用,这些供应商还围绕其托管产品提供附加的特性和功能。Kubernetes围绕着集群的概念工作,集群是通过虚拟机或物理机(又名节点/主机)组合在一起的资源池,可以运行集装箱化的工作负载。它让您可以高效、轻松地管理此资源池或群集,同时还定义并提供一种简单的机制来部署和管理此池上的容器化应用程序的生命周期。它还定义了网络、存储、扩展、升级和发现已部署应用程序的机制。在幕后,它可以跨多个节点/主机协调同一应用程序的副本,同时允许不同的应用程序共享相同的节点/主机。超越单一集群然而,这个博客是关于多个Kubernetes集群的。什么时候一个集群还不够?为什么一个人甚至需要多个集群?最初的论文介绍了一个统一的多集群控制平面(又称"Ubernetes")的概念,平销返利,很好地突出了多集群的主要原因。这些理由在今天仍然成立。下一节将在本文列出的那些用例的基础上,列出与Kubernetes相关的大多数用例。多集群Kubernetes的用例多租户技术Kubernetes提供的特性可以提供某种程度的多租户,但是Kubernetes并不是真正的多租户。这在一定程度上是由于容器化并不能在同一位置的应用程序之间提供完美的隔离,许多实际的用例需要考虑多个租户之间共享资源的安全影响,这在大多数情况下会导致不共享相同的资源。相反,租户要么被集群节点划分,要么得到不同的集群。许多大型企业往往选择经营后者,即针对不同租户的不同集群。目的是一样的。听到"开发集群"、"测试集群"、"prod集群"等是相当常见的,不是吗?有人可以说,多租户不是运行多个集群的理由,但我认为这是企业这么做的最常见原因之一。容量溢出/云爆炸云爆炸可能是最有用的、以金钱为中心的多云用户场景之一。仅当本地资源不足时才使用更昂贵的公共云资源。事实上,这个概念早于Kubernetes,很多企业都是以自己的方式实现的,在PaaS软件得到广泛应用之前,IaaS软件已经有了解决方案。开放源码中的一个例子是OpenStack的Jacket。对于Kubernetes来说,没有明确的开源解决方案,但是提供托管Kubernetes服务的供应商可能会提供一种工具来实现相同的目的。你可以从去年在西雅图库贝肯的演讲中了解到更多关于库伯内特斯的云爆炸的信息。高可用性单个集群为简单容器提供了合理的容错能力,并可以处理容器死机或没有响应。然而,单个群集无法承受网络中断(这是相当常见的)、数据中心问题、自然灾害等。为实现高可用性,应用程序将多个群集跨到(他们自己的)不同数据中心、不同供应商和不同的地理位置中是相当常见的。顺从需要遵守当地法律和安全政策是一个常见的使用案例,尤其是在银行和电信部门。一般来说,一个集群不可能处处遵守每一条规则。通常解决方案是让专门的集群针对特定的需求进行审计,企业还需要确保应用程序经过审计、标记为符合要求,并且确实在标记为适合这些应用程序的集群中运行。位置相关性虽然公共互联网速度很快,但仍然受到物理的限制。这正是组织有时选择将应用程序托管在用户使用它的区域的原因。不同地理位置的不同集群迎合了这一特殊情况。避免供应商锁定现在有很多云供应商,而且所有的产品显然都是不平等的。大多数规模较大的云用户并不坚持单一供应商。由于定价模式和产品的变化,用户也会随着时间的推移而改变他们的使用模式。Kubernetes使应用程序不受云计算限制,而拥有多个集群是一个解决方案,当需要使用多个供应商或随着时间的推移将应用程序从一个云移动到另一个云时。Kubernetes多团簇SIG的演化优步,生存还是毁灭Kubernetes社区的多集群讨论早在2015年初就开始了。与此同时,库伯内特斯本身也处于发展的初期阶段。Kubernetes的一些创始成员认为有必要开始讨论,并确保多集群的细微差别从一开始就被固有地融入到API中。本演示文稿是早期KubeCons会议上讨论多个集群的第一次讨论之一。最初的想法是针对所有可能的Kubernetes多集群问题(又称"Ubernetes")提供一个单一的解决方案。大多数利益相关者认为,有可能构建一个类似于Kubernetes控制平面的控制平面,以满足人们所能想到的所有多云使用情况。那是不可能的。事实证明,手头的问题难以集体解决。此外,在接下来的几年里,库伯内特斯本身也成长为一个庞然大物,云上,在那里必须特别努力把整个巨石分解成更小的协同工作的部分。一些例子可以在这里找到。从Ubernetes到联盟随后的工作必须缩小多个阶段迭代的多集群问题。在将kubernetesapi服务器的概念应用到多个集群时,第一次尝试将Ubernetes的定义聚合到"联合"。它认为集群类似于节点,联邦控制平面类似于Kubernetes控制平面。这意味着将Kubernetes资源API也用作联合API,大数据要学什么,只需在抽象上更上一层楼。这种观点也有其自身的挑战,特别是因为没有明确的API空间来指定和验证特定于多个集群的属性。它们都生活在通用注释中。作为一个简单的例子,淘客商城,这种方法提供了一个联合API服务器作为多个kubernetesapi服务器的简单客户端,大数据开发平台,公开了同一个kubernetesapi资源API。因此,联合用户可以针对联合API服务器创建相同的资源,例如,他/她将针对Kuberntes API服务器创建部署或ConfigMap。由于相同的客户机和客户机工具可以针对FederationAPI服务器工作,因此它看起来很有希望。事实上,它在当时看起来相当优雅,在概念的原型实现之前还可以。然而,它不可能成熟到一条清晰的演化路径,同时仍然能够跟上kubernetesapi在同一时间的发展,同时也能够支持与Federation API相同的API。联邦不能简单地重用整个API。诸如"特定于联盟的API内容在哪里?"以及"如何在多个集群中为每种资源赋予意义?"很难回答。例如,在复制工作负载的情况下,均匀地分布副本,在所有集群中创建相同的资源,例如在机密或配置映射的情况下,这是不连贯的。简单地说,在Kubecon EU 2018上的SIG简介部分讨论了其中一些问题。随后,SIGs的焦点也改变了,以更广泛地包含其他可能的解决方案和项目,SIG联盟也改为SIG多集群。在联合中,额外的工作进一步缩小了仅适用于API资源管理的范围,使较低级别的实现(例如,多集群网络覆盖或多集群存储)完全超出范围。可以独立地为目标开发和扩展的API。目前的社区工作在Kubernetes集群联合会aka KubeFed。尽管Kubernetes集群联合会是多集群SIG在Kubernetes中看到的最大的一项工作,但是还有其他值得注意的项目和工作在Kubecons上提出,在SIG中讨论,或者仅仅是在同一个空间中。我将详细讨论KubeFed和其中一些值得注意的工作和项目