HELLO大家好,在本课时我将介绍Amazon Elastic Kubernetes服务,也就是亚马逊的EKS服务。


首先,什么是EKS呢?

EKS是一项托管服务,用于在AWS上或本地数据中心运行Kubernetes应用程序,而无需安装、操作或维护您自己的Kubernetes控制面板或节点。

Kubernetes是一个开源系统,用于自动化部署、缩放和管理容器化的应用程序。因此,如果我们想要管理和扩展在Docker上运行的容器,那么Kubernetes就是一个最佳的工具。

当您需要使用托管 Kubernetes 实施跨多个环境标准化容器编排时就可以使用EKS。 也就是说,如果您想使用标准化容器编排工具集,以便在AWS和您本地数据中心等不同环境中管理容器,那么您可以使用EKS。

EKS的一些特点,包括:

  • 混合部署,您可以跨AWS和本地数据中心管理Kubernetes集群和应用程序。
  • 批处理作业,使用Kubernetes Jobs API在集群上运行顺序或批量工作负载,计划、调度和执行批处理工作负载。
  • 机器学习,您可以将Kubeflow与EKS结合使用,建模您的机器学习工作流程,并使用最新的EC2 GPU加速实例,如AWS Inferentia。
  • 以及运行Web应用程序,可以通过EKS构建自动缩放并跨多个可用区的高度可用的Web应用程序。


EKS架构


接下来我们一起看下EKS的架构。

EKS是运行在AWS区域的服务,比如这里是一个AWS区域,然后一个VPC,里面有多个可用区,AWS的EKS在这里运行。亚马逊EKS服务是一个托管的Kubernetes服务运行在EC2、Fargate以及AWS Outposts,并且跨多个可用区运行。

EKS集群中还包括EKS控制面板,它是跨多个可用区的,高可用的,且可以根据负载自动缩放控制面板实例,且能够检测并替换运行状况不良的控制面板实例,并为其提供自动化的版本更新和修补。

当然还包括工作节点。、

EKS支持ALB、NLB以及CLB这几种负载均衡器。

容器组在Kubernetes中被称为Pods。

EKS弹性伸缩


那么接下来让我们看下关于EKS弹性伸缩相关的知识点,参加考试需要了解使用EKS进行伸缩的不同机制。

在集群Auto Scaling部分,首先是Vertical Pod Autoscaler,它可以为pod自动调整CPU和内存预留,为应用程序调整至合适大小,它是针对pod的垂直层面的。

然后是Horizontal Pod Autoscaler,它可以根据资源的 CPU 利用率,自动缩放deployment, replication controller, 以及 replica set中pods的数量,前面这些都是K8S的组件。

这两个关键的区别在于,Vertical Pod Autoscaler它是调整CPU和内存的数量和大小,您需要了解垂直扩展的工作原理;而Horizontal Pod Autoscaler是调整基础设施中的PODS的数量,一个是垂直扩展,一个是水平扩展,可以理解吧?

以上是集群Auto Scaling部分。

然后是工作负载Auto Scaling,EKS支持两个Auto Scaling产品:

包括Kubernetes cluster Autoscaler ,以及Karpenter open source AutoScaling project

cluster Autoscaler 与AWS Scaling组一起使用,而这个Karpenter与EC2 fleet一起工作。


亚马逊EKS与ELB


那么EKS和负载均衡器是如何一起工作的呢?

EKS主要支持网络负载均衡器和应用程序负载均衡器,虽然对CLB也有一些支持,但CLB随着时间的推移,它正在逐渐淘汰,所以我们主要讨论NLB和ALB。

AWS负载均衡器控制器负责管理Kubernetes集群的负载均衡器。

那怎么安装这个控制器呢,可以使用Helm V3或更高版本或者通过应用Kubernetes manifest安装这个负载均衡器控制器。

这个控制器预置以下这些资源:

当您创建 Kubernetes Ingress 时的 AWS 应用程序负载均衡器

当您创建 LoadBalancer 类型的 Kubernetes 服务时的 AWS 网络负载均衡器

在之前,以实例为目标使用 Kubernetes 网络负载均衡器,而 IP 目标使用 AWS 负载均衡器控制器。

在使用 AWS负载均衡器控制器版本 2.3.0 或更高版本,您可以使用任一目标类型创建网络负载均衡器


亚马逊EKS Distro


接下来,我们讨论EKS Distro的内容。

EKS Distro 是 亚马逊EKS在云中部署的相同开源 Kubernetes 软件和依赖项的发行版。

它允许你在任何地方手动运行Kubernetes集群。

它包括开源 Kubernetes、etcd、网络和存储插件的二进制文件和容器,并且经过兼容性测试。

您可以在GitHub上和访问其他开源软件一样安全访问Distro的版本,或者通过亚马逊S3以及ECR

EKS Distro缓解了跟踪更新、确定兼容性以及在分布各处的团队中统一使用 Kubernetes 版本的需求。

您可以在AWS EC2或者在您本地的硬件上使用您选择的工具创建Distro集群。

ECS Anywhere和EKS Anywhere


最后,我们讲一下ECS Anywhere和EKS Anywhere。

这两个服务允许您在您管理的基础设施上运行ECS以及EKS,有AWS提供支持。这里所说的不是outposts,outposts上是肯定可以运行它们的。

这里所说的是您自己的硬件,比如您可以在您的本地的基础设施比如裸金属服务器上,或者也可以在Vmware vSphere上部署ECS Anywhere和EKS Anywhere。

好的,以上就是本课时的全部内容,感谢大家的观看,希望能够给大家带来帮助。

2023年12月16日

0 responses on "亚马逊EKS"

Leave a Message

Setup Menus in Admin Panel

error: Content is protected !!