EKS概述
EKS
学校给的AWS沙盒快过期了,剩下几十🔪也不想浪费,突然发现居然有给EKS的权限,想到前几天自建K8S集群的经历,虽然可以熟悉集群流程,但是倘若在生产环境下,还是有安全高可用的托管平台舒服。
架构结构
学习一个东西,肯定是先了解概念以及大概的结构,由大入微,最重要的是要不断实践和尝试,通过实际操作来加深对该工具或技术的理解。
k8s
首先是k8s,一个开源容器编排平台,源于Google的Borg。主要就是能够多平台进行自动化调度,修复,扩展,服务发现和负载,存储编排等重要功能。
经典七大件
kube-apiserver:Kubernetes API服务器,提供了Kubernetes集群的API接口,负责接收和处理来自用户、控制器和其他组件的请求。
kube-controller-manager:Kubernetes控制器管理器,包含多个控制器,负责监控集群状态并根据预定义的控制器逻辑进行调整,确保集群中的资源达到预期状态。
kube-scheduler:Kubernetes调度器,负责根据Pod的调度策略(如资源需求、亲和性、反亲和性等)选择合适的Node节点来运行Pod。
kubelet:每个Node节点上运行的Kubernetes代理,负责管理Node节点上的Pod和容器,与kube-apiserver通信,执行Pod的生命周期管理和监控。
kube-proxy:Kubernetes网络代理,负责为Pod提供网络代理和负载均衡功能,实现Pod之间和Pod与外部网络的通信。
etcd:分布式键值存储系统,用于存储Kubernetes集群的所有配置数据、状态信息和元数据,保证集群的一致性和可靠性。
Container Runtime:容器运行时,负责在Node节点上创建和管理容器,常见的容器运行时包括Docker、containerd、CRI-O等。
EKS
EKS能够简化云上K8S的复杂性,提供一个高可用安全的控制平台,主要还可以集成其他服务,比如IAM、VPC、CloudWatch、ELB等。
上面的一个架构图,也是能够很清晰的看出来EKS Conrtol Plane成为了管理k8集群的核心组件,然后通过网络负载均衡余kubectl通信。咋一看好像中间少了API Server,scheduler,controller-manager这些组件,但是估计是由在集成在EKS Control里面的,而且相比于自建k8s集群的一个vpc内,这里却分为了两个VPC一个是管理的VPC,另一个是节点的VPC。这应该是属于一种网络隔离方法。可能是为了集群的稳定。其次就是责任分离了。然后工作节点的服务通过ELB来进行负载均衡给用户。
工作流程
- 首先配置eks集群
- 创建一个或多个工作节点
- 选择工具。并且连接到EKS
- 在pod上部署应用程序
集群创建
不得不说是真的方便,还能够同时集成多个插件和统一的管理。可惜了,后面有一些操作,权限不够用不了。