Skip to content

22-各大云厂商K8s产品对比 ​

你好,我是雪飞。

今天我给你讲讲云厂商的 K8s 相关产品,如果你的公司刚好使用了云厂商的产品,而且要使用 K8s 集群来部署应用,你可以直接选择云厂商成熟的 K8s 托管产品,而不需要自己再使用虚拟机来搭建 K8s 集群。

现在各大云厂商都针对开源 Kubernetes 做了自己的封装,提供了高可用的管理节点,接入了多种存储产品、网络产品,提供了成熟的可视化管理工具,提升了集群性能和安全防护。你可以在它们的托管 K8s 产品上通过可视化工具来管理节点、部署应用、管理配置、使用存储和网络、查看和监控集群状态,帮助你快速过渡到 K8s 的容器集群环境,降低运维成本,提高部署效率。

相对于自建 K8s 集群,使用云厂商的 K8s 产品有以下优势:

  • 简化集群管理:提供超大规模容器集群管理、资源调度、容器编排、代码构建,屏蔽了底层基础构架的差异,可以通过 Web 管理工具快速方便的管理工作节点和资源对象。
  • 集成负载均衡:集成云厂商自己的第三方负载均衡,支持在多个容器之间分配流量,只需指定容器配置和要使用的负载均衡器,容器服务将自动配置好网络访问。
  • 资源高度隔离,服务高可用:集群在私有网络中运行,因此可以使用自己的安全组和网络 ACL,这些功能为你提供了高隔离水平,构建高度安全可靠的应用程序。
  • 镜像快速部署:高品质的 BGP 网络保证镜像极速上传下载,轻松支持容器秒级启动,极大程度降低了运行开销。
  • 性价比高:花费少量费用即可获得高稳定、高可靠、可扩展的集群管理节点,免去运维烦恼。

认识各个云厂商的产品 ​

我这里简单介绍一下阿里云的 ACK 托管集群、腾讯云的 TKE 标准集群、亚马逊的 EKS 、华为云的 CCE Standard,这些都是各个云厂商的基于 K8s 的托管集群产品。

ACK ​

阿里云的 ACK(Aliyun Container Service for Kubernetes)提供高性能且可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。托管集群的管理节点由 ACK 维护,提供了稳定、高可用、高性能、安全的 K8s 服务。每一个托管集群的管理节点包含至少两个 kube-apiserver 实例和三个 etcd 实例,并且部署在不同的可用区以提供可用区级别的高可用性。ACK 会持续监控托管组件,保障服务 SLA,并且及时修复安全漏洞。

图片

TKE ​

腾讯云的 TKE(Tencent Kubernetes Engine)基于原生 Kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务。你可以在托管的云服务器实例集群上轻松运行应用程序。使用该服务,你将无需安装、运维、扩展你的集群管理基础设施,只需进行简单操作,便可启动和停止 Docker 应用程序,查询集群的完整状态,以及使用各种云服务。

图片

EKS ​

亚马逊的 EKS(Amazon Elastic Kubernetes Service)是一项托管 Kubernetes 服务,用于在 AWS Cloud 上运行 Kubernetes。在云中,EKS 可自动管理负责安排容器、管理应用程序可用性、存储集群数据和其他关键任务的 K8s 管理节点的可用性和可扩展性。通过 EKS,你可以利用 AWS 基础设施的所有性能、规模、可靠性和可用性,以及与 AWS 网络和安全服务的集成。

图片

CCE Standard ​

华为的 CCE Standard(Cloud Container Engine Standard)是一个企业级的 Kubernetes 集群托管服务,支持容器化应用的全生命周期管理,提供高度可扩展的、高性能的云原生应用部署和管理方案。云容器引擎深度整合高性能的计算(ECS/BMS)、网络(VPC/EIP/ELB)、存储(EVS/OBS/SFS)等服务,并支持 GPU、NPU、ARM等异构计算架构,支持多可用区(Available Zone,简称AZ)、多区域(Region)容灾等技术构建高可用 K8s 集群。

图片

这些云厂商提供的 K8s 托管产品功能比较类似,也比较成熟。所以我在下面通过阿里云的 ACK 给你展示一下如何使用云厂商的产品。这里参考了阿里云的官方技术文档。

使用阿里云 ACK ​

使用前准备 ​

  1. 注册阿里云账号并完成实名认证。
  2. 使用的 Demo 镜像应用 “ACK-Cube” 为一个线上魔方游戏,我们将该游戏通过容器镜像部署到 ACK 集群中。完成课程后,你可以创建一个魔方游戏应用。
    图片

操作步骤 ​

图片

首次使用 ACK 时,需要开通并授权容器服务 ACK,然后创建集群,在集群中部署魔方应用。

步骤一:开通并授权容器服务 ACK

首次使用时,需要开通容器服务 ACK,并为其授权相应云资源的访问权限。

  1. 登录容器服务 ACK 开通页面。
  2. 仔细阅读并选中容器服务 ACK 服务协议,然后单击立即开通。
  3. 登录容器服务管理控制台。
  4. 在容器服务需要创建默认角色页面,单击前往 RAM 进行授权,进入云资源访问授权页面,然后单击同意授权。完成以上授权后,刷新控制台即可使用容器服务 ACK。

步骤二:创建 ACK 集群

通过配置主要参数快速创建一个ACK 集群。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群。
  2. 在集群列表页面,单击页面右上角的创建集群。
  3. 在 ACK 托管版页签下,配置以下配置项。未说明配置项保留默认设置即可。
    图片
  4. 单击下一步:节点池配置,配置以下配置项。未说明配置项保留默认设置即可。
    图片
  5. 单击下一步:组件配置,所有组件使用默认配置。
  6. 单击下一步:确认配置,然后选中并阅读服务协议,单击创建集群。

注意:集群的创建时间一般约为几分钟。创建完成后,在集群列表页面,可以看到新创建的集群。

步骤三:部署并公开应用

在新创建的 ACK 集群中快速部署一个无状态应用(Deployment),即魔方游戏镜像,并将该应用向公网公开。

  1. 在集群列表页面中,单击目标集群名称(即 ACK-Demo)。
  2. 在集群管理页左侧导航栏,选择工作负载 > 无状态。
  3. 在无状态页面,单击使用镜像创建。
  4. 在应用基本信息页签,设置应用名称为 “ack-cube”。
  5. 单击下一步,在容器配置页签,配置容器的相关参数。

图片

图片

  1. 单击下一步,在高级配置页签,单击服务(Service)右侧的创建。
  2. 在创建服务对话框中,设置服务的相关参数,单击创建,以通过该服务公开 “ack-cube” 应用。

图片

图片

  1. 在高级配置页签,单击页面右下角的创建。创建成功后,默认进入创建完成页面,会列出应用包含的对象,你可以单击“查看应用详情”进行查看。

图片

步骤四:测试应用

通过服务(Service)来访问新部署的容器化应用。

  1. 在集群列表页面中,单击目标集群名称(即 ACK-Demo)。
  2. 然后在左侧导航栏,选择工作负载 > 无状态。
  3. 单击目标 Deployment,即 “ack-cube”。
  4. 单击访问方式页签,找到新创建的服务(即 ack-cube-svc),单击外部端点列的链接,即可访问魔方游戏。

图片

注意:这里就自动使用了阿里云的负载均衡,所以创建了 Loadbalance 类型的 Service,因此直接生成了一个外网访问 IP。

释放资源 ​

使用 ACK 集群所产生的费用包括两部分。一部分是集群管理费用,由容器服务 ACK 收取。另一部分是所使用的其他阿里云云产品资源费用,按照各云产品规定的计费规则计费,由各云产品收取。

完成课程后:

  • 如果无需继续使用集群,请登录容器服务管理控制台,在集群列表页面的操作列,单击目标集群对应的更多 > 删除。在删除集群页面,选中同时删除集群下的 ALB 资源、同时删除集群下的 PrivateZone 资源、同时删除集群管理关联的 SLS 项目,选中我已知晓以上信息并确认删除集群,然后单击确定,即可删除集群。
  • 如果需要继续使用集群,请为阿里云账号充值。

小结 ​

今天给你介绍了云厂商的 K8s 产品,你可以在它们的托管 K8s 产品上通过可视化工具来管理节点、部署应用、管理配置、使用存储和网络、查看和监控集群状态,帮助你快速过渡到 K8s 的容器集群环境,降低运维成本,提高部署效率。

我主要介绍了阿里云的 ACK 托管集群、腾讯云的 TKE 标准集群、亚马逊的 EKS 和华为云的CCE Standard,并通过阿里云的官方技术文档,带你了解了使用阿里云 ACK 部署应用的流程。

每个云厂商的产品都比较类似,也都比较成熟,选型的时候你可以都去体验一下,选择最适合你的云厂商即可。

本专栏到这就结束了,期待我们进一步的沟通和交流,也希望这个专栏能帮助你顺利拿下CKA认证。

最近更新