认识Kubernetes
1、Kubernetes是什么?
Kubernetes 是谷歌严格保密十几年的秘密武器—Borg 的一个开源版本。Borg 是谷歌的一个久负盛名的内部使用的大规模集群管理系统,它基于容器技术,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率的最大化。十几年以来,谷歌一直通过 Borg系统管理着数量庞大的应用程序集群。由于谷歌员工都签署了保密协议,即便离职也不能泄露 Borg 的内部设计,所以外界一直无法了解关于它的更多信息。
Kubernetes(简称:k8s) 是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了资源调度、部署管理、服务发现、扩容缩容、监控,维护等一整套功能。
官网地址: https://kubernetes.io
2、K8S集群架构:
K8S集群由master节点和node节点组成:
master节点:是k8s集群的管理节点,负责管理集群,提供集群的资源数据访问入口。拥有Etcd存储服务(可选),运行Api Server进程,Controller Manager服务进程及Scheduler服务进程,关联工作节点Node。
node节点:是工作节点监听API Server发送过来的新的工作分配;他们会执行分配给他们的工作,然后将结果报告给Kubernetes主节点。
集群的组件主要有以下几个:
1、etcd保存了整个集群的状态(关键数据);
2、apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
3、controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
4、scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
5、kubelet负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;
6、kube-proxy负责为Service提供cluster内部的服务发现和负载均衡;
controller manager负责执行各种控制器,目前已经提供了很多控制器来保证Kubernetes的正常运行。
控制器 | 说明 |
---|---|
Replication Controller | 管理维护Replication Controller,关联Replication Controller和Pod,保证Replication Controller定义的副本数 |
Node Controller | 管理维护Node,定期检查Node的健康状态,标识出(失效|未失效)的Node节点。 |
Namespace Controller | 管理维护Namespace,定期清理无效的Namespace,包括Namesapce下的API对象,比如Pod、Service等。 |
Service Controller | 管理维护Service,提供负载以及服务代理。 |
EndPoints Controller | 管理维护Endpoints,关联Service和Pod,创建Endpoints为Service的后端,当Pod发生变化时,实时更新Endpoints。 |
Service Account Controller | 管理维护Service Account,为每个Namespace创建默认的Service Account,同时为Service Account创建Service Account Secret。 |
Persistent Volume Controller | 管理维护Persistent Volume和Persistent Volume Claim,为新的Persistent Volume Claim分配Persistent Volume进行绑定,为释放的Persistent Volume执行清理回收。 |
DaemonSet Controller | 管理维护Daemon Set,负责创建Daemon Pod,保证指定的Node上正常的运行Daemon Pod。 |
Deployment Controller | 管理维护Deployment,关联Deployment和Replication Controller,保证运行指定数量的Pod。当Deployment更新时,控制实现Replication Controller和Pod的更新。 |
Job Controller | 管理维护Job,为Jod创建一次性任务Pod,保证完成Job指定完成的任务数目 |
Pod Autoscaler Controller | 实现Pod的自动伸缩,定时获取监控数据,进行策略匹配,当满足条件时执行Pod的伸缩动作。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!