Skip to content

Kubernetes 技术栈总览

一句话定位:Kubernetes 本质是一组服务器集群,在每台节点上跑特定程序来编排管理容器,目标是资源管理的自动化。

一、Kubernetes 提供的功能

  • 自我修复:容器崩溃约 1s 内重启新容器;节点宕机则把其上容器迁移到其他节点。
  • 弹性伸缩:按需(如 CPU 利用率)动态扩缩容器数目。
  • 服务发现:服务可自动发现其依赖的服务。
  • 负载均衡:多副本自动负载均衡。
  • 自动发布与版本回退
  • 存储编排:按需自动创建存储卷。
  • 容器调度:决定容器落在哪个节点。

二、架构:master + node

            ┌─────────────────────────────────────┐
   Client ─▶│ master(控制平面)                      │
            │  ApiServer     操作集群的唯一入口        │
            │  Scheduler     调度 Pod 到 node          │
            │  ControllerManager  保证资源达到预期状态 │
            │  Etcd          分布式存储(元数据)        │
            └─────────────────────────────────────┘
            ┌─────────────────────────────────────┐
            │ node(工作节点,可多个)                 │
            │  kubelet        维护 Pod 生命周期        │
            │  kube-proxy     网络代理,实现 Service   │
            │  Container Runtime 容器运行时(CRI)      │
            └─────────────────────────────────────┘

调用关系(创建 Pod 的完整链路):Client 提交 yaml → ApiServer 写入 etcd → ControllerManager watch 到创建并整合资源 → Scheduler watch 到未调度 Pod 并计算落点、回写绑定 → kubelet 拉取 Pod 信息、调 CRI 启容器 + CNI 建网络 + CSI 挂存储 → 状态回写 etcd。

三、核心资源地图

资源职责关键点
Pod最小调度单元含根容器 Pause;容器必须跑在 Pod 里
Service稳定访问入口Pod IP 不固定,用 Service 聚合
Deployment无状态应用控制器滚动更新、版本回退
StatefulSet有状态应用稳定网络标识 + 持久存储
ConfigMap / Secret配置与敏感信息与镜像解耦
Namespace资源隔离逻辑分区
Ingress七层路由入口一个入口暴露多个 Service

四、三大横切机制

  • 调度:Scheduler 按策略(资源、亲和、污点容忍)把 Pod 绑到 node。
  • 网络:Pod 有独立 IP;Service 通过 kube-proxy(userspace/iptables/ipvs 三种模式)把虚拟 IP 转发到真实 Pod。
  • 存储:Volume 抽象,持久化靠 PV/PVC 与 StorageClass 动态供给。

关联

  • 上游:1. Kubernetes介绍和架构
  • 同域:[Kubernetes Pod与探针机制](./Kubernetes Pod与探针机制) · [Kubernetes Service与服务发现](./Kubernetes Service与服务发现) · Docker技术栈总览
  • 域地图:运维与云原生
最近更新