Kubernetes 源码剖析与实战
孔令飞
前腾讯云专家工程师
906 人已学习
新⼈⾸单¥68
Kubernetes 源码剖析与实战
15
15
1.0x
00:00/00:00
登录|注册

08|Kubernetes架构及核心组件介绍

你好,我是孔令飞。
在学习 Kubernetes 源码之前,我们需要系统地了解其架构和组件功能。在第 03 讲中,我曾简单介绍过相关内容,而在本节课中,则会对 Kubernetes 的架构和核心组件进行更详细的讲解。

Kubernetes 简介

Kubernetes 是一个可移植、可扩展的开源容器编排平台,用于管理容器化的工作负载和服务,支持声明式配置和自动化。是谷歌保密了十几年的秘密武器 Borg 的开源版本,谷歌一直通过 Borg 系统管理着数量庞大的应用程序集群。由于 Kubernetes 是基于容器技术的分布式架构方案,所以不局限于任何编程语言。
Kubernetes 具有以下核心功能:

Kubernetes 架构介绍

上面,我介绍了 Kubernetes 及其功能。本小节,我来详细介绍下 Kubernetes 的架构,其架构图如下:

Kubernetes 中两大类节点

作为分布式架构的王者,Kubernetes 采用了 Master-Worker 的架构模式。Master 节点即上图中的 Control Plane Node,Worker 节点即上图中的 Worker Node。
Master 节点
Master 节点部署了 Kubernetes 控制面的核心组件。企业 Kubernetes 集群中,Master 节点会部署 kube-apiserver、kube-controller-manager、kube-scheduler 组件,其中 kube-controller-mananger、kube-scheduler 会通过本地回环接口同 kube-apiserver 通信。kube-controller-manager 和 kube-scheduler 之间没有通信。这些核心的控制面组件用来完成 Kubernetes 资源的 CURD、并根据资源的定义执行相应的业务逻辑,例如:创建 Pod、将 Pod 调度到 Worker 节点等。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. Kubernetes是一个开源容器编排平台,采用Master-Worker架构模式,核心组件包括kube-apiserver、kube-controller-manager、kube-scheduler、kubelet和kube-proxy。 2. kube-apiserver是核心的REST服务器,负责对内置资源和CRD资源进行增删改查、Watch、Patch等操作,并将数据保存/更新到etcd中,或者从etcd中删除。 3. kube-controller-manager是一组控制器的集合,用于监控和管理集群中的各种资源,包括节点控制器、副本控制器、服务控制器、端点控制器等。 4. cloud-controller-manager充当云平台API接口和Kubernetes集群之间的桥梁,包含一组云平台控制器,用于保证cloud组件的状态符合预期。 5. kube-scheduler负责将新创建的Pod调度到集群中的节点上,考虑的因素包括资源需求、约束、亲和性和反亲和性规范、数据位置、工作负载间的干扰和最后时限。 6. etcd是Kubernetes的分布式键值存储系统,用于存储集群的配置数据和状态信息,提供高可用性和一致性,并用于存储集群中的各种信息。 7. kubelet是运行在每个节点上的代理程序,负责管理和监控节点上的容器,与kube-apiserver通信,接收来自控制平面的指令,并根据指令创建、启动、停止和销毁容器。 8. kube-proxy负责为Pod提供网络代理和负载均衡功能,维护集群中的网络规则和转发表,并将请求转发到合适的目标Pod上。 9. 容器运行时是负责在节点上创建和管理容器的软件,Kubernetes支持多种容器运行时,如Docker、containerd、CRI-O等,并要求容器运行时必须实现CRI(Container Runtime Interface)。 These key points summarize the essential components and functionalities of Kubernetes, providing a clear understanding of its architecture and core features.

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Kubernetes 源码剖析与实战》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • lJ
    >>> kube-proxy,作为 Kubernetes 集群内的服务注册中心,负责服务发现和负载均衡。 >>> kube-proxy:kube-proxy 是 Kubernetes 集群的服务发现组件和负载均衡器。kube-proxy 会 Watch 集群的 Service 和 Pod 资源,并动态维护一个 Service IP(VIP)和 Pod IP(RS) 列表的映射,在 Service 和 Pod 有更新时,会动态的更新这个映射表。 怎么理解这里的服务注册中心、服务发现呢,kube-proxy Watch了Service和EndPointSlice(或EndPoint),EndPointSlice控制器Watch了Service、EndPointSlice、Pod维护endpointslices资源的关联关系,kube-proxy负责创建iptables和ipvs规则(这些规则提供了负载均衡能力)。 个人理解,kube-proxy只是构建 iptables/IPVS 规则,实现流量转发。服务注册(或发现?)更像是EndpointSlice Controller完成的。
    2025-04-30归属地:江苏
收起评论
大纲
固定大纲
Kubernetes 简介
Kubernetes 架构介绍
Kubernetes 中两大类节点
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部