检查 AWS 和 Azure 中的 Kubernetes 托管

已完成

容器是完整的可移植计算环境,可在其中安全地运行代码。 Kubernetes 是最常用的系统,旨在运行许多容器并将其协调为可缩放且通用的系统。

在全球服装零售商中,你一直在迁移面向公众的网站以在容器中运行,然后使用 Amazon Elastic Kubernetes 服务(EKS)协调它们。 现在,需要了解如何将该系统迁移到 Azure。

在本单元中,你将比较在 Azure 和 Amazon Web Services(AWS)中托管 Kubernetes 的服务。

显示 azure 和 Amazon AWS Microsoft提供的服务类型的关系图。

什么是 Kubernetes?

近年来,许多组织都使用称为 容器的虚拟计算资源托管其系统。 容器与虚拟机(VM)非常类似,因为它提供了一个隔离的虚拟计算机,进程可以在一致且可预测的环境中运行。 但是,由于容器与主计算机共享 OS,因此它比 VM 更小、更灵活。

正在构建在多个容器上运行的系统,每个容器都运行组件(例如微服务)的一个实例。 因此,这些容器必须通信、共享资源并响应用户。 如果需求增加,则应通过增加相关容器的实例数来响应。

Kubernetes 是一个开源容器业务流程平台,可自动部署、缩放和管理容器化应用程序。 可以使用它来管理容器群集,并提供负载均衡、服务发现、自动推出、存储业务流程和自我修复功能等功能。

Kubernetes 可以在本地或云中运行。 Azure 和 AWS 都提供 Kubernetes 托管服务:

  • AWS:Amazon Elastic Kubernetes 服务(EKS)
  • Azure:Azure Kubernetes 服务(AKS)

比较 Azure 和 Amazon 中的 Kubernetes

Kubernetes 托管服务(如 AKS 或 EKS)必须为托管容器提供一致的环境,以便开发人员不必将解决方案作为特定服务的目标。 因此,如果你熟悉 EKS,则应找到 AKS 的类似且舒适的设计。

但是,存在一些差异。 让我们在这里检查一下:

目的 AKS AWS EKS 评论
服务集成 与 Azure 服务(如标识管理 Microsoft Entra ID、用于监视的 Azure Monitor 和 Azure 容器注册表(ACR)集成。 与其他 AWS 服务(例如 IAM(标识和访问管理)、CloudWatch(监视)和 ECR(弹性容器注册表)紧密集成。
群集管理 需要手动配置来设置和管理 Kubernetes 控制平面和工作器节点。 管理功能更加自动化,包括控制平面和工作器节点的自动更新和缩放。 AWS 处理控制平面,但需要管理工作器节点。
网络 使用 Azure 虚拟网络(VNet),这些虚拟网络与 Azure 的网络服务紧密集成。 此方法简化了网络管理。 使用 AWS 虚拟私有云(VR)进行网络,提供灵活性,但可能需要更多配置。
安全性 将 Microsoft Entra ID 用于基于角色的访问控制(RBAC)。 严重依赖 AWS IAM 进行身份验证和授权,这可能很复杂,但功能强大。
日志记录和监视 使用 Azure MonitorLog Analytics,它提供现装的集成监视和日志记录解决方案。 还可以使用 Azure 托管 GrafanaPrometheus 使用 CloudWatch 进行日志记录和监视,这需要配置来收集和可视化日志和指标。
更新和升级 提供更自动化的升级过程,包括能够升级控制平面和节点池,同时尽量缩短停机时间。 通常需要对群集更新和升级进行更多手动干预,尽管 AWS 提供了帮助执行这些任务的工具。
定价 Kubernetes 控制平面是免费的,你只需为工作器节点付费。 根据使用模式,这种安排更具成本效益。 控制平面和工作器节点的费用。 控制平面具有固定成本,并且工作器节点根据 EC2 实例使用情况计费。

了解更多信息