5. 技术栈总览
Kubernetes 本身只是「调度 + 声明式 API」的内核,真正决定平台能力的,是围绕 CRI(运行时)、CNI(网络)、CSI(存储) 三个插件接口长出来的周边技术栈,以及交付、观测、安全、平台化四条主线。这一页给出一张可导航的全景图;每个技术域都有独立的选型与上手文章。
- 层级:
L5 · 参考
- 难度:
全阶段
- 预计:
25 分钟
- 前置:
无
图:Kubernetes 是内核,插件接口是边界,平台工程与交付体系把边界组合成产品。
5.1. 集群与运行时
→ 选型与上手:集群与运行时
发行版:kubeadm、k3s、RKE2、Talos、MicroK8s、OpenShift、Rancher。
托管服务:EKS、GKE、AKS(含 AKS Automatic)、ACK、TKE。
容器运行时(CRI):containerd、CRI-O。
强隔离运行时:gVisor、Kata Containers、Firecracker。
本地开发集群:kind、k3d、minikube、colima、OrbStack。
选择顺序通常是:先决定托管还是自建,再决定运行时与隔离级别,最后才是本地开发工具。运行时不是越强隔离越好,gVisor/Kata 会带来性能与兼容性成本。
5.2. 网络
→ 选型与上手:网络与 Service Mesh、CNI 网络、负载均衡与 Ingress
CNI:Calico、Cilium(eBPF,兼做 NetworkPolicy/LB)、Flannel、Antrea、Multus(多网卡)。
Ingress / Gateway:ingress-nginx、Traefik、Envoy Gateway、Kong、HAProxy;新项目优先 Gateway API。
Service Mesh:Istio、Linkerd、Cilium Mesh、Kuma、Consul。
DNS / 服务发现:CoreDNS、ExternalDNS。
边缘 / 多集群网络:Submariner、Skupper、Cilium ClusterMesh。
网络层的决策要按「南北向入口、东西向服务通信、跨集群」三条流量分别做,不要用一个组件解决所有问题。
5.3. 存储与数据
→ 选型与上手:存储与数据、存储与持久化、Ceph 与 Longhorn
CSI 存储:Ceph(Rook)、Longhorn、OpenEBS、NFS、云盘(EBS/Azure Disk/PD)。
对象存储:MinIO、S3 兼容网关。
备份迁移:Velero、Kasten K10。
有状态服务 Operator:CloudNativePG、Vitess、Strimzi(Kafka)、Redis Operator、Elastic/OpenSearch Operator。
存储先分「块、文件、对象」,再分「自建、云盘、分布式」。有状态服务的难点通常不在 PVC,而在备份、恢复、故障切换和版本升级。
5.4. 交付与 GitOps
→ 选型与上手:交付与 GitOps、Helm、Kustomize
包管理 / 模板:Helm、Kustomize、Helmfile、Timoni、OCI Artifact。
GitOps:Argo CD、Flux CD。
渐进式发布:Argo Rollouts、Flagger(金丝雀/蓝绿)。
CI / 构建:GitHub Actions、GitLab CI、Tekton、Argo Workflows、BuildKit/Buildpacks、Kaniko。
镜像仓库:Harbor、云厂商 ACR/ECR/GAR。
交付链路的边界要划清:CI 负责「构建与验证」,GitOps 负责「集群状态收敛」,Rollouts 负责「流量切换」,三者不要混成一个脚本。
5.5. DevOps 工程体系
→ 选型与上手:DevOps 工程体系
持续集成:GitHub Actions、GitLab CI、Tekton、Argo Workflows。
基础设施即代码:Terraform/OpenTofu、Pulumi、Cluster API、Crossplane。
发布:Argo Rollouts、Flagger、特性开关、数据库迁移。
可靠性:SLO/错误预算、值班、事件响应、复盘、混沌工程。
供应链:SBOM、Trivy/Grype、Cosign/Sigstore、SLSA、准入校验。
平台产品:Golden Path、Backstage、DORA 指标、团队拓扑。
端到端实战:从提交到生产,把 CI、GitOps、Rollouts、SLO 串成一条链路。
DevOps 不是某个工具链的名字,而是把 Plan → Code → Build → Test → Release → Deploy → Operate → Observe → Feedback 连成闭环。本域文章会把这条链路上的每个环节与本项目已有章节串起来。
5.6. 可观测性
→ 选型与上手:可观测性、Prometheus、日志与 ELK / Loki
指标:Prometheus、Thanos、Mimir、VictoriaMetrics、metrics-server。
日志:Loki、EFK/OpenSearch、Vector/Fluent Bit。
链路:Tempo、Jaeger、OpenTelemetry Collector。
可视化 / 告警:Grafana、Alertmanager、Pyrra(SLO)。
运行时观测:Pixie、eBPF 工具(Cilium Hubble)。
可观测性不是「装三个后端」,而是把指标、日志、链路用同一组标签和 traceID 关联起来;先定义 SLO,再决定采样与保留。
5.7. 安全与策略
→ 选型与上手:安全与策略、认证与安全、cert-manager
认证授权:RBAC、OIDC、SPIFFE/SPIRE。
策略即代码:Kyverno、OPA Gatekeeper、Pod Security Admission、Kubescape。
密钥管理:External Secrets Operator、Vault、Sealed Secrets、SOPS。
证书:cert-manager。
镜像 / 供应链:Trivy、Grype、Cosign/Sigstore、SLSA。
运行时安全:Falco、Tetragon、AppArmor/SELinux。
安全要沿「身份 → 准入 → 密钥 → 镜像 → 运行时」分层;任何单点组件都不能替代最小权限与审计。
5.8. 伸缩与调度
工作负载伸缩:HPA(水平)、VPA(垂直)、KEDA(事件驱动)。
节点伸缩:Cluster Autoscaler、Karpenter(AWS 节点自动扩缩)。
重平衡:Descheduler。
批处理 / 队列:Volcano、Kueue。
GPU:NVIDIA Device Plugin、MIG。
先分清「Pod 数、Pod 资源、节点数」三种伸缩,再决定用 HPA、VPA 还是 KEDA;节点伸缩要考虑冷启动与成本上限。
5.9. 平台工程与多集群
→ 选型与上手:伸缩与平台工程、Karmada、Kubernetes 系统扩展
基础设施编排:Crossplane、Cluster API、Terraform/OpenTofu、Pulumi。
开发者门户:Backstage、KubeVela、Radius。
多集群 / 边缘:Karmada、Fleet、Liqo、KubeEdge、OpenYurt。
虚拟集群 / 多租户:vCluster、Capsule、HNC。
成本:OpenCost、Kubecost。
平台工程的目标不是「把所有工具装一遍」,而是给开发者一条可重复的 Golden Path:申请环境、部署、观测、回滚都能自助完成。
5.10. Serverless 与 AI
→ 选型与上手:Serverless 与 AI
Serverless / 事件:Knative、Dapr、Argo Events、NATS。
AI / 模型服务:Kubeflow、KServe、Ray、vLLM。
数据 / 工作流:Spark on K8s、Airflow、JupyterHub、Temporal。
AI 工作负载的关键约束是 GPU 调度、模型缓存、冷启动与成本;不要直接套用无状态 Web 服务的 HPA 策略。
5.11. 三套常见组合
本地学习
k3d/kind + ingress-nginx + metrics-server + cert-manager + kube-prometheus-stack。
目标是用最少资源跑通「部署 → 暴露 → 观测 → 证书」闭环。
生产最小栈
托管 K8s + Cilium/Calico + CSI 存储 + Argo CD + Helm + Prometheus/Grafana/Loki + Kyverno + External Secrets + Velero。
目标是有入口、有存储、有 GitOps、有观测、有策略、有备份。
平台工程栈
Crossplane + Cluster API + Argo CD + Backstage + KEDA + OpenCost + OPA/Kyverno。
目标是把基础设施、应用交付、开发者门户与成本治理串成一条平台产品线。
5.12. 选型原则
先定边界:托管还是自建、单集群还是多集群、是否需要强隔离。
先跑通一条链路:部署 → 暴露 → 观测 → 回滚,再谈平台化。
优先 Gateway API、OpenTelemetry、OCI Artifact 这类开放标准,避免被单一实现锁死。
把策略、密钥、供应链安全前置,不要等出事再补。
用成本与 SLO 反推规模:不是所有集群都需要 Service Mesh 和全量链路追踪。