Kubernetes MOC

Kubernetes 容器编排知识地图:Pod、Deployment、Service、Ingress、ConfigMap、Secret、HPA、Helm。

#type / moc #status / seed #tech / ops

[!info] related notes

Kubernetes MOC

Kubernetes(K8s)是容器编排的事实标准。当你有几十上百个容器需要管理时,就需要一个系统来自动负责调度、扩缩容、负载均衡和故障恢复。

这张地图覆盖什么

  • Kubernetes 核心概念与架构
  • 工作负载管理(Pod、Deployment)
  • 服务发现与网络(Service、Ingress)
  • 配置与密钥管理(ConfigMap、Secret)
  • 存储管理(Volume、PVC)
  • 自动扩缩容(HPA)
  • 包管理工具(Helm)
  • 声明式管理思想

推荐阅读顺序

  1. 先理解 Docker MOC,建立容器化基础
  2. 了解 Pod — K8s 最小调度单位
  3. 了解 Deployment — 声明式管理副本
  4. 了解 Service — 稳定访问入口
  5. 了解 Ingress — 外部流量入口
  6. 然后按需查阅配置、存储、扩缩容等专题

核心概念

Pod

Kubernetes 中最小的调度单位。通常一个 Pod 里跑一个主容器。Pod 是短暂的,会被销毁和重建,IP 不稳定。

Deployment

声明某个服务应该运行几个副本、使用哪个镜像、如何升级。如果少了帮你补,镜像变了帮你滚动升级。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: api
spec:
  replicas: 3
  selector:
    matchLabels:
      app: api
  template:
    metadata:
      labels:
        app: api
    spec:
      containers:
        - name: api
          image: registry.example.com/my-api:1.0.0
          ports:
            - containerPort: 8080

这段配置的意思不是”执行一个命令启动服务”,而是:

我声明:系统里应该始终有 3 个 api 副本在运行。如果少了你帮我补,如果镜像变了你帮我滚动升级。

这就是云原生里很重要的思想:声明式

Service

给一组 Pod 提供稳定访问入口。因为 Pod 会销毁重建、IP 不稳定,所以需要 Service 来提供固定的访问地址和负载均衡。

Ingress

管理外部 HTTP/HTTPS 流量入口。比如把 api.example.com 转发到 Go API Service,把 app.example.com 转发到前端 Service。

配置管理

ConfigMap

普通配置,比如模型名称、功能开关、服务地址。可以以环境变量或文件挂载的方式注入容器。

Secret

敏感配置,比如数据库密码、API Key。与 ConfigMap 类似,但内容会 base64 编码(注意:base64 不是加密)。

存储

Volume

Pod 级别的存储卷,Pod 销毁后数据可能丢失(取决于类型)。

PersistentVolumeClaim (PVC)

持久化存储声明,与底层存储解耦。Pod 销毁后数据保留。

自动扩缩容

HPA(Horizontal Pod Autoscaler)

根据 CPU、内存或自定义指标自动增减 Pod 副本数。流量高了自动扩容,流量低了自动缩容。

包管理

Helm

Kubernetes 的包管理器。把一堆 K8s 资源(Deployment、Service、ConfigMap 等)打包成一个 Chart,支持模板化、版本管理、一键部署和回滚。

声明式 vs 命令式

传统命令式:“执行这个命令,启动 3 个容器”。

Kubernetes 声明式:“我声明系统里应该有 3 个容器,你帮我保持这个状态”。

声明式的好处:

  • 期望状态与实际状态持续对齐
  • 平台自动处理故障恢复
  • 配置即文档,可版本化管理
  • 支持 GitOps 工作流

学习环境

入门不需要真正的集群,可以用:

  • minikube — 单节点本地集群
  • kind — 用 Docker 容器模拟 K8s 节点
  • k3s — 轻量级 K8s 发行版
  • 云厂商托管 K8s(ACK、GKE、EKS)

相关 MOC

创建于 2026/7/4 更新于 2026/7/15