云原生:10分钟了解一下Kubernetes架构

Kubernetes,作为当今容器编排技术的事实标准,以其强大的功能和灵活的架构设计,在全球范围内得到了广泛的应用和认可。本文将深入简出地探讨Kubernetes的核心架构,帮助大家了解Kubernetes,为今后的高效的学习打下良好的基础。

本文是系列的第2期,欢迎大家阅读往期,并关注后续更新~

🔥《云原生:5分钟了解一下Kubernetes是什么》

👉《云原生:10分钟了解一下Kubernetes架构》

🖋《云原生:15分钟了解一下Kubernetes的核心概念》

🖋《云原生:20分钟体验一下Kubernetes》

Kubernetes集群包含 Master节点(控制面/控制节点)和 Node节点(计算节点/工作节点),应用自动调度部署在Node节点上,且可以通过配置选择应用部署在某些特定的节点上。

Master节点(控制面)

Master节点是集群的控制节点,主要由API Server、Scheduler、Controller Manager和ETCD四个组件构成(云上还需cloud-control-manager)。在生产环境中,为了保障集群的高可用,通常会部署多个Master节点。

组件 说明
etcd 一个分布式key-value数据存储组件,为Kubernetes提供原数据的存储,它保存了整个集群的状态。支持watch机制,这样组件很容易得到系统状态的变化,从而快速响应和协调工作。
kube-api-server 主要提供Kubernetes API,提供对Pods,Services,RC等对象的CRUD处理REST操作各组件互相通讯的中转站,接受外部请求,并将信息更新到ETCD中。
kube-scheduler 负责应用调度的组件,根据各种条件(如可用的资源、节点的亲和性等)将容器调度到Node上运行。
kube-controller-manager 执行集群级功能,例如复制组件,跟踪Node节点,处理节点故障等等。例如:节点控制器、任务控制器、端点分片控制器等。
cloud-control-manager 云控制器管理器是指嵌入特定云的控制逻辑的控制平面组件。 云控制器管理器允许您链接聚合到云提供商的应用编程接口中, 并分离出相互作用的组件与您的集群交互的组件。

Node节点(worker)

Node节点是集群的计算节点,即运行容器化应用的节点。

组件 说明
kubelet kubelet主要负责同Container Runtime打交道,并与API Server交互,管理节点上的容器。
kube-proxy 应用组件间的访问代理,解决节点上应用的访问问题。
Container Runtime 容器运行时,最主要的功能是下载镜像和运行容器。 例如:Docker、Containerd(1.24后默认)

工作流程简介

  1. 用户通过 kubectl 等工具与 API 服务器交互,提交应用部署的请求。
  2. API 服务器将请求存储在 etcd 中,并通知调度器。
  3. 调度器根据资源需求和节点状况,决定 Pod 应该在哪个节点上运行。
  4. API 服务器将 Pod 的分配结果通知对应的节点上的 kubelet。
  5. kubelet 与容器运行时通信,创建和启动 Pod 中的容器。
  6. kube-proxy 在节点上设置网络规则,确保服务的网络请求可以转发到正确的 Pod。
  7. 控制器管理器监控集群状态,确保实际状态与用户的期望状态一致,并在必要时进行调整。

更多信息可访问官网:https://kubernetes.io/zh-cn/docs/concepts/architecture/

或关注后续相关博文。

往期精彩内容推荐

云原生:5分钟了解一下Kubernetes是什么
云原生:应用敏捷,华为视角下的应用现代化
云原生:为企业带来的7大价值
云原生:重塑未来应用的基石
「快速部署」第一期清单

相关推荐
lbb 小魔仙31 分钟前
【Linux】云原生运维效率提升:Linux 终端工具链(kubectl + tmux + fzf)组合拳教程
linux·运维·云原生
Joren的学习记录1 小时前
【Linux运维大神系列】Kubernetes详解3(kubeadm部署k8s1.23高可用集群)
linux·运维·kubernetes
hanyi_qwe1 小时前
发布策略 【K8S (三)】
docker·容器·kubernetes
匠在江湖2 小时前
裸机单片机任务调度器实现:基于规范分层(COM/APP/SRV/DRV)架构,(附 任务调度器 / 微秒延时函数 / 串口重定向 源码)
单片机·嵌入式硬件·架构
gaize12132 小时前
服务器怎么选择与配置才能满足企业需求?
运维·服务器·架构
加个鸡腿儿2 小时前
经验分享2:SSR 项目中响应式组件的闪动陷阱与修复实践
前端·css·架构
一条咸鱼_SaltyFish3 小时前
[Day15] 若依框架二次开发改造记录:定制化之旅 contract-security-ruoyi
java·大数据·经验分享·分布式·微服务·架构·ai编程
早日退休!!!4 小时前
ARM A核、ARM M核、X86与RISC-V架构:寄存器作用及上下文处理差异报告
arm开发·架构·risc-v
Cyber4K4 小时前
【Kubernetes专项】DockerFile、数据持计划、网络模式及资源配额
运维·网络·云原生·容器·kubernetes
数说星榆1815 小时前
在线高清泳道图制作工具 无水印 PC
大数据·人工智能·架构·机器人·流程图