云原生: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大价值
云原生:重塑未来应用的基石
「快速部署」第一期清单

相关推荐
Richardlygo3 小时前
(k8s)kubernetes集群基于Containerd部署
云原生·容器·kubernetes
nvd116 小时前
K8S - 用service account 登陆kubectl
kubernetes
二进制杯莫停6 小时前
k8s pod网络故障注入,命令行实现
网络·容器·kubernetes
it技术分享just_free6 小时前
基于 K8S kubernetes 的常见日志收集方案
linux·运维·docker·云原生·容器·kubernetes·k8s
小叶子来了啊6 小时前
002.k8s(Kubernetes)一小时快速入门(先看docker30分钟)
java·容器·kubernetes
it技术分享just_free7 小时前
基于 K8S kubernetes 搭建 安装 EFK日志收集平台
运维·docker·云原生·容器·kubernetes·k8s
loveLifeLoveCoding8 小时前
K8S volumn 挂载文件
云原生·容器·kubernetes
lizhou8288 小时前
win10下使用docker、k8s部署java应用
java·docker·kubernetes
SteveCode.8 小时前
高性能微服务架构:Spring Boot 集成 gRPC 实现用户与订单服务即时交互
spring boot·微服务·架构
m0_728647088 小时前
Feed流系统重构:架构篇
重构·架构