大型网站必须构建四层容器化基础设施栈:编排层用Kubernetes(非Docker Compose),网络层用Calico/Cilium+CNI+Ingress,存储层依赖云原生托管服务与对象存储,镜像交付层强制私有Harbor+准入检查;主机需CPU≥32核、内存≥64GB、NVMe独立盘;安全执行PSA restricted策略与只读根文件系统;可观测性集成Prometheus、Fluent Bit、OpenTelemetry和Alertmanager。

核心架构分层配置
大型网站不是“一个 docker run”,而是四层协同:
- 编排层:必须用 Kubernetes(K8s),不是 Docker Compose。后者仅适用于开发或单机测试。K8s 提供自动扩缩容、滚动更新、服务发现、健康探针、多可用区调度等能力。可选用托管服务(如阿里云 ACK、AWS EKS)或自建(推荐 K3s 用于边缘节点,RKE2 用于核心集群)。
- 网络层:禁用默认 bridge 网络。使用 CNI 插件(Calico 或 Cilium),支持 NetworkPolicy 实现微服务间细粒度访问控制;Ingress Controller(Nginx 或 Traefik)统一处理 HTTPS、WAF 规则、灰度路由和限流。
- 存储层:有状态服务(如 MySQL、Redis)不能依赖本地 volume。数据库用云原生托管服务(如 PolarDB、Aurora),缓存用云 Redis 集群;日志和监控数据走对象存储(OSS/S3)+ 专用采集器(Fluent Bit → Loki / ES);配置中心用 etcd 或 Apollo。
- 镜像与交付层:所有镜像必须从私有 Registry(Harbor)拉取,开启内容信任(Notary)、漏洞扫描(Trivy 集成 CI)、签名验证;CI/CD 流水线强制执行镜像准入检查(基础镜像合规、无 root 运行、非特权端口、固定 UID/GID)。
主机与资源硬性配置
单节点 Docker Engine 已被淘汰,但每个 K8s Worker 节点仍需合理调优:
MiniMax 图片理解 + 网络搜索 MCP 工具。适配 Docker 环境(极空间等),支持图片 OCR 识别、图像内容理解、网络搜索。API Key 安全存储在本地 credentials 文件,不暴露在代码中。
- CPU:≥16 核(建议 32 核),避免超卖;启用 CPUManager(static policy)保障关键服务独占核心
- 内存:≥64GB,预留 20% 给系统和 K8s 组件;启用 memory QoS(limit/request 严格配比)防 OOM 波及其他 Pod
- 存储:系统盘 SSD ≥500GB;Docker root-dir(/var/lib/docker)和 containerd data-root 必须挂载独立 NVMe 盘,格式化为 XFS 并启用 d_type=true
- 内核参数:关闭 swap;增大 net.core.somaxconn、fs.inotify.max_user_watches;启用 cgroups v2;overlay2 存储驱动需确认支持 metacopy 和 redirect dir
安全与权限最小化落地项
不是加个 --user 就叫安全,大型网站要卡死每条路径:
- 容器进程 UID 固定为 65534(nobody),GID=65534,且镜像中对应用户主目录设为 /tmp(不可写)
- Pod Security Admission(PSA)策略强制 enforce:restricted 模式,禁止 privileged、hostNetwork、hostPID、cap-add、sysctls 写入
- Docker daemon.sock 权限收紧到 root:docker 且 660;K8s kubelet 使用专用证书轮换,禁用匿名访问
- 所有对外服务容器必须挂载 readOnlyRootFilesystem=true;敏感配置通过 SecretMount + auto-rotation(如 Vault Agent 注入)
可观测性必须内置
没监控的容器集群等于黑盒。以下四项缺一不可:
- 指标:Prometheus Operator 部署,每个 Pod 自动注入 sidecar(如 Prometheus Node Exporter + cAdvisor);业务指标暴露 /metrics 端点(OpenMetrics 格式)
- 日志:Fluent Bit DaemonSet 采集 stdout + hostPath 日志,打标 cluster/node/pod/namespace,转发至 Loki(结构化日志)或 ES(全文检索)
- 链路追踪:Jaeger 或 OpenTelemetry Collector 收集 HTTP/gRPC span,采样率按服务分级(核心服务 100%,后台任务 1%)
- 事件告警:Kubernetes Events + Prometheus Alertmanager 联动,关键事件(CrashLoopBackOff、ImagePullBackOff、NodeNotReady)5 秒内触发企业微信/钉钉通知

















