术语表

55 个词条。读章节时遇到不认识的词,先来这里查一句话解释, 再点右侧链接跳到讲它的那一章。

核心对象

日常打交道最多的资源类型,按「承载什么」分组。

Pod

最小调度单元,一个或多个共享网络与存储命名空间的容器组合。Pod 是一次性的,不要直接长期管理。

→ 在《第一个 Pod:kubectl 常用操作》中学习
Deployment

无状态工作负载控制器,管理 ReplicaSet,负责副本数与滚动更新、回滚。

→ 在《Deployment:副本、滚动更新与回滚》中学习
ReplicaSet

保证某一批 Pod 的副本数量符合期望。通常由 Deployment 创建,不直接手写。

→ 在《Deployment:副本、滚动更新与回滚》中学习
StatefulSet

有状态工作负载:Pod 有稳定名称、稳定网络标识和独立存储,适合数据库类应用。

→ 在《存储卷与 PV/PVC:让数据活过 Pod 重启》中学习
DaemonSet

在(几乎)每个节点上各跑一个 Pod,常用于日志采集、节点监控、网络插件。

→ 在《调度入门:把 Pod 放到合适的节点上》中学习
Job / CronJob

Job 跑一次性任务并保证成功;CronJob 按 cron 表达式周期性创建 Job。

→ 在《Job 与 CronJob:批处理与定时任务》中学习
Service

给一组 Pod 提供固定虚拟 IP 与 DNS 名,并做四层负载均衡,解决 Pod IP 会变的问题。

→ 在《Service 与集群内 DNS》中学习
Ingress

七层入口规则:按域名和路径把外部请求转发到不同 Service,需要 Ingress Controller 才能生效。

→ 在《Ingress:从外部访问集群服务》中学习
ConfigMap

存放非敏感配置的键值数据,可以注入为环境变量或挂载成文件。

→ 在《ConfigMap 与 Secret:把配置从镜像里拿出来》中学习
Secret

存放敏感数据的对象。注意 base64 只是编码不是加密,生产应配合外部密钥管理。

→ 在《ConfigMap 与 Secret:把配置从镜像里拿出来》中学习
Namespace

集群内的逻辑隔离边界,用于分组资源、配合配额与 RBAC;不提供网络隔离。

→ 在《命名空间与 RBAC:多人共用一个集群》中学习
PersistentVolumePersistentVolume (PV)

集群级别的存储资源,代表一块真实的存储(本地盘、云盘、Ceph 卷等)。

→ 在《存储卷与 PV/PVC:让数据活过 Pod 重启》中学习
PersistentVolumeClaimPersistentVolumeClaim (PVC)

用户对存储的「申请单」:要多大、什么访问模式。由 StorageClass 动态供给绑定到 PV。

→ 在《存储卷与 PV/PVC:让数据活过 Pod 重启》中学习
StorageClass

描述「用哪种存储、怎么供给」的模板,决定 PVC 背后由谁创建 PV 以及参数。

→ 在《生产存储:CSI、Rook/Ceph 与本地盘方案》中学习
ServiceAccount

Pod 访问 API Server 时使用的身份,配合 RBAC 决定它能做什么。

→ 在《命名空间与 RBAC:多人共用一个集群》中学习
NetworkPolicy

Pod 级别的网络访问控制,需要 CNI 支持才生效;默认拒绝 + 按需放行是最佳实践。

→ 在《集群网络:CNI 选型与 NetworkPolicy》中学习
HPAHorizontalPodAutoscaler

根据 CPU/内存或自定义指标自动调整副本数。

→ 在《探针与资源管理:让集群理解你的应用》中学习

集群组件

控制平面与节点上真正干活的东西。

kube-apiserver

集群唯一入口:认证、鉴权、准入校验,然后读写 etcd。所有组件都只跟它对话。

→ 在《集群架构:控制平面与工作节点》中学习
etcd

分布式键值存储,保存全部集群对象,是唯一真相来源;对磁盘 fsync 延迟敏感。

→ 在《生产集群部署:从节点规划到 kubespray》中学习
kube-scheduler

为未分配节点的 Pod 选节点:先过滤再打分,最后写入绑定结果。

→ 在《调度入门:把 Pod 放到合适的节点上》中学习
kube-controller-manager

运行一批控制器(Deployment、ReplicaSet、Node、EndpointSlice 等),不断把现实拉回期望。

→ 在《集群架构:控制平面与工作节点》中学习
kubelet

节点上的执行者:领取本节点的 Pod,调用容器运行时启动容器,执行探针并上报状态。

→ 在《集群架构:控制平面与工作节点》中学习
kube-proxy

把 Service 的虚拟 IP 翻译成节点上的转发规则(iptables/IPVS),部分集群由 eBPF 方案替代。

→ 在《集群网络:CNI 选型与 NetworkPolicy》中学习
CoreDNS

集群内 DNS 服务,把 Service 名解析成 ClusterIP;新 Pod 的 resolv.conf 指向它。

→ 在《Service 与集群内 DNS》中学习
CNIContainer Network Interface

容器网络接口标准。CNI 插件负责给 Pod 分配 IP、接通网络并执行网络策略。

→ 在《集群网络:CNI 选型与 NetworkPolicy》中学习
CSIContainer Storage Interface

容器存储接口标准。CSI 驱动让 Kubernetes 能对接不同存储后端并支持动态供给、快照、扩容。

→ 在《生产存储:CSI、Rook/Ceph 与本地盘方案》中学习
CRIContainer Runtime Interface

kubelet 与容器运行时之间的接口,主流实现是 containerd,Docker 不再直接参与。

→ 在《集群架构:控制平面与工作节点》中学习
metrics-server

提供 `kubectl top` 与 HPA 所需的基础资源指标,不做长期存储。

→ 在《探针与资源管理:让集群理解你的应用》中学习
EndpointSlice

Service 后端的真实 Pod 地址列表(取代已弃用的 Endpoints),只包含就绪的 Pod。

→ 在《Service 与集群内 DNS》中学习

概念与机制

理解行为背后的设计思想,比记命令更重要。

声明式Declarative

只描述「期望的最终状态」,由系统负责达成;与之相对的是一步步下命令的命令式做法。

→ 在《为什么需要 Kubernetes》中学习
控制器Controller

一个「watch 对象 → 比较期望与实际 → 采取动作」的循环。Kubernetes 的一切都靠它纠偏。

→ 在《集群架构:控制平面与工作节点》中学习
期望状态Desired State

你写进 YAML 的 spec;现实状态记录在 status,控制器负责让两者一致。

→ 在《用 YAML 描述 Pod:清单结构详解》中学习
探针Probe

liveness(活着吗)、readiness(能接流量吗)、startup(启动完了吗)三种健康检查。

→ 在《探针与资源管理:让集群理解你的应用》中学习
滚动更新Rolling Update

逐个替换旧 Pod 的发布方式,由 maxSurge / maxUnavailable 控制替换节奏,保证不中断。

→ 在《Deployment:副本、滚动更新与回滚》中学习
QoS 类别Quality of Service Class

根据 requests/limits 的填写情况分为 Guaranteed、Burstable、BestEffort,决定资源紧张时谁先被驱逐。

→ 在《探针与资源管理:让集群理解你的应用》中学习
污点与容忍Taint & Toleration

节点上的污点排斥 Pod,Pod 的容忍表示「我能接受这个污点」,两者配合决定能否调度。

→ 在《调度入门:把 Pod 放到合适的节点上》中学习
亲和性Affinity

比 nodeSelector 更灵活的调度约束:required 是硬条件,preferred 是软偏好。

→ 在《调度入门:把 Pod 放到合适的节点上》中学习
驱逐Eviction

节点资源不足时 kubelet 主动赶走 Pod(常见原因是内存),状态显示 Evicted。

→ 在《排障手册:出问题先看哪里》中学习
不可变字段Immutable Field

创建后不能修改的字段(如 Deployment 的 selector),改了只能删除重建。

→ 在《Deployment:副本、滚动更新与回滚》中学习
动态供给Dynamic Provisioning

PVC 创建后由 StorageClass 自动创建并绑定 PV,不需要管理员预先准备。

→ 在《存储卷与 PV/PVC:让数据活过 Pod 重启》中学习
回收策略Reclaim Policy

PVC 删除后 PV 的处理方式:Delete 会删掉后端存储,Retain 会保留数据供手工处理。

→ 在《生产存储:CSI、Rook/Ceph 与本地盘方案》中学习

工具与生态

本地开发、部署与生产运维会用到的常见工具。

kubectl

Kubernetes 官方命令行客户端,一切操作的起点。

→ 在《搭一个本地集群:kind 与 kubectl 上手》中学习
kubeconfig

保存集群地址、证书与上下文(context)的配置文件,默认在 ~/.kube/config。

→ 在《搭一个本地集群:kind 与 kubectl 上手》中学习
kind

Kubernetes in Docker:用容器当节点,几十秒起一个本地集群,适合学习和 CI。

→ 在《搭一个本地集群:kind 与 kubectl 上手》中学习
minikube

另一种本地集群方案,内置常用插件(如 ingress、dashboard),上手更省事。

→ 在《搭一个本地集群:kind 与 kubectl 上手》中学习
Helm

Kubernetes 的包管理器,把一组 YAML 模板化成可复用、可版本化、可回滚的 chart。

→ 在《Helm 入门:把一堆 YAML 变成可复用的 chart》中学习
Chart / Release

Chart 是模板包,Release 是 chart 在集群里的一次安装实例。

→ 在《Helm 入门:把一堆 YAML 变成可复用的 chart》中学习
kubespray

基于 Ansible 的生产集群部署工具,支持高可用控制面与多种网络插件。

→ 在《生产集群部署:从节点规划到 kubespray》中学习
Cilium

基于 eBPF 的 CNI 与网络策略实现,可替代 kube-proxy,并自带 Hubble 可观测能力。

→ 在《集群网络:CNI 选型与 NetworkPolicy》中学习
MetalLB

为裸金属集群实现 LoadBalancer 类型的 Service,支持 L2 与 BGP 模式。

→ 在《集群网络:CNI 选型与 NetworkPolicy》中学习
Rook / Ceph

Rook 是 Ceph 在 Kubernetes 上的 Operator,把分布式存储变成可声明管理的资源。

→ 在《生产存储:CSI、Rook/Ceph 与本地盘方案》中学习
Prometheus

拉取式指标系统与查询语言 PromQL,是 Kubernetes 生态的事实标准。

→ 在《可观测性:指标、日志与告警》中学习
VictoriaMetrics

兼容 PromQL 的时序数据库,存储效率高、单机部署简单,常作为替代方案。

→ 在《可观测性:指标、日志与告警》中学习
Grafana

可视化与看板工具,把指标、日志查询结果画成图表并支持告警。

→ 在《可观测性:指标、日志与告警》中学习
Alertmanager

处理 Prometheus 告警的去重、分组、静默与路由,决定「谁在什么时候被叫醒」。

→ 在《可观测性:指标、日志与告警》中学习