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。
好的,以上就是本课时的全部内容,感谢大家的观看,希望能够给大家带来帮助。
0 responses on "亚马逊EKS"