为什么 AKS、EKS、GKE 比 k8s 更好。我们可以说 k8s 架构是这三个的基础吗?它们如何相互利用?

为什么 AKS、EKS、GKE 比 k8s 更好。我们可以说 k8s 架构是这三个的基础吗?它们如何相互利用?

我正在尝试学习 k8s,并且总是出现一个问题:为什么我们需要 GKE、aks 或 EKS。

在云端,我们是否可以在没有上述服务的情况下进行容器编排,这意味着我们是否可以拥有像 ec2/VM 这样的计算实例并在这些节点上安装 k8s(开源项目),这意味着建立我们自己的 k8s 集群?如果是,如果任何节点发生故障,我们如何自动向集群添加更多节点?如果我们这样做,我们会面临哪些挑战?这种方法中我们错过了哪些功能?

如果没有,为什么人们会比较 k8s、EKS、aks 和 gke,因为 k8s 不应该是其中的一部分?

在我发现的一些地方,人们说它就像普通的 Hadoop 和 Cloudera Hadoop(完全管理 Hadoop 集群,使生活变得轻松并增加了价值)。

我知道所有这些服务都使工作变得容易得多,但是我发现这也是一种做法,尽管设置自己的具有多个节点的集群非常复杂。

有没有好的内容可以让我找到不仅仅使用 k8s 的理由。在很多地方,人们将 k8s 与 EKS、gke 和 AKS 进行了比较,并显示 k8s 是最好的,但我没有发现在用例中 k8s 是在没有这些服务的情况下实现的。此外,在很多地方,我看到 k8s 并不好,但它仍然在各地被广泛使用,为什么会这样,它如何比 eks、gke 和 aks 更好?

答案1

安克萨斯艾克斯吉科被称为托管 kubernetes 解决方案。它们的目标和功能基本相同。当然也存在一些差异,尤其是如何将这种托管的 Kubernetes 集群与特定云平台的其余部分集成,但所有供应商都尽最大努力确保其绝不逊色于竞争对手。

为什么 AKS、EKS、GKE 比 k8s 更好。我们可以说 k8s 架构是这三个的基础吗?它们如何相互利用?

是吗?我不会说它们更好,它们只是不同而已。最终的评价完全取决于您的具体需求和要求。

是的,这 3 个解决方案完全基于开源 Kubernetes每个云提供商单独开发了一些额外的修改和改进。您可以在此处阅读有关 Kubernetes 历史的更多信息维基百科文章简而言之,它最初是由谷歌根据他们使用内部容器编排系统的经验,博格并随后作为开源技术发布:

Kubernetes v1.0于2015年7月21日发布。[13] 随着 Kubernetes v1.0 的发布,Google 与 Linux基金会 形成 云原生计算基金会 (CNCF)[14] 并提供 Kubernetes 作为种子技术。

要自行设置 Kubernetes 集群,可以使用以下工具kubeadm这简化了整个过程,但仍然让您完全控制您的 Kubernetes 环境。但它既有优点也有缺点。一方面,您可以完全控制您的主节点,但另一方面,您是完全负责管理此类环境的人,如果您的生产集群出现问题,您就是需要修复它的人。

有些用户甚至需要对集群设置过程及其管理进行更精细的控制。您可能听说过 100% 手动设置 Kubernetes 集群的方法。它被称为Kubernetes 的艰难之路。如果你至少经历过一次,你可能知道这个过程有多么复杂和繁琐。

与上面两个不同,管理 kubernetes 环境完全减轻你和工作负担kubernetes 集群不需要任何进一步的配置,几分钟内就可以完全自动设置。

这种解决方案的优点是什么?毫无疑问有很多。管理工作量更少,设置和管理所需的精力和时间也更少kubernetes 集群它可以让你专注于部署和管理工作量。然而,每一种好处都涉及一些权衡,在这里,通过选择其中之一托管 kubernetes 解决方案你放弃了对环境的完全控制。请记住吉科安克萨斯安克萨斯不让你访问主节点。因此,如果你想重新配置你的kube-api服务器或集群的其他元素,通过与一些完全不同的旗帜,您不能这样做。作为交换,您不必担心整个主节点是否发生故障,因为您的云提供商有责任为您妥善管理它。

所以正如我已经说过的,这完全取决于你的特定需求和期望。你可以用同样的方式询问:“如果我们可以自行管理基础设施,为什么还要使用云、IaaS、PaaS、SaaS?有如此多的数据中心允许您放置物理服务器,那么为什么还要费心使用一些云解决方案呢?”- 但您可能同意使用云有很多优势。它提供了前所未有的可扩展性和弹性以及高可用性,仅举几例,但您可能知道这个列表很长。

在云中,我们是否可以在没有上述服务的情况下进行容器编排,这意味着我们是否可以拥有像 ec2 / VM 这样的计算实例并在这些节点上安装 k8s(开源项目),这意味着创建我们自己的 k8s 集群?

当然可以。您可以设置自己的 Kubernetes 环境,并完全访问主节点GCP 计算引擎虚拟机但正如我所说,它需要更多的管理工作。您可以在云中的虚拟机上设置 Kubernetes 集群,就像在本地执行此操作一样。

如果是,那么当任何节点发生故障时我们如何自动向集群添加更多节点?

好吧,你总是可以开发自己的解决方案来自动化这个过程,但一般来说,如果你手动设置你的 Kubernetes 集群,答案是:你不能。这也是托管 kubernetes 解决方案因为纯开源 kubernetes 根本没有这样的功能,当其中一个节点发生故障时,它不会自动生成另一个节点。实际上,它甚至不是为此目的而设计的,它的工作方式不同。它是关于管理运行我们工作负载的容器,而不是管理云基础设施。

看一眼这篇文章让你对Google Kubernetes 引擎包括以下优势吉科与纯开源 kubernetes 相比:

Google Cloud 上的 Kubernetes

运行 GKE 集群时,您还可以享受 Google Cloud 提供的高级集群管理功能。这些功能包括:

至于:

如果没有,为什么人们会比较 k8s、EKS、aks 和 gke,因为 k8s 不应该是其中的一部分?

为了比较艾克斯对比安克萨斯对比吉科原因很简单。他们每个人的背后都有另一个大公司,他们只是试图领先竞争对手一步的有竞争力的解决方案,这基本上也是非常积极的,因为它也推动了他们的密集发展。

分别与开源 k8s也非常有意义,因为对于某些用途来说,最好考虑建立自己的k8s集群从头开始,对每个细节进行非常精细的控制,例如设置启动 kube-apiserver 或 kube-scheduler 的特定标志等。

在我发现的一些地方,人们说它就像普通的 Hadoop 和 Cloudera Hadoop(完全管理 Hadoop 集群,使生活变得轻松并增加了价值)。

是的,这是一个非常准确的比较。请记住,设置一个由许多元素组成的复杂集群比安装一个简单的集群要复杂得多http或者数据库服务器(但您也可以找到可以让您的生活更轻松并提供完全托管解决方案的托管提供商)。即使它们由几个副本组成,通常它们的设置所需的时间和精力也比设置由许多相关元素组成的集群要少,其中一个元素严重依赖于另一个元素。如果您仔细查看这些元素Kubernetes你会发现它不是一个同质的环境,虽然当你自动设置一切时它看起来似乎是这样的,但事实上并非如此。

我希望这可以让您更好地理解 kubernetes,特别是使用 kubernetes 托管解决方案的意义。

相关内容