# K8s 部署说明(骨架) > **说明**:本目录为 K8s 部署**骨架**,仅提供最小可用 manifest,**生产环境请使用 Helm Chart**。 ## 适用范围 - 开发 / Staging 环境快速拉起 - 验证服务在 K8s 上的基本可用性 - 作为后续 Helm 化的过渡参考 ## Manifest 类别 | 文件 | 类别 | 用途 | |------|------|------| | `namespace.yaml` | namespace | 划分 4 个命名空间:system / services / monitoring / ingress | | `configmap-*.yaml` | configmap | 非敏感配置(服务端口、特性开关等) | | `secret-*.yaml` | secret | 敏感配置(密钥、连接串),生产用 External Secrets | | `*-deployment.yaml` | deployment | 服务无状态部署,含探针 / 资源 / 副本数 | | `*-service.yaml` | service | ClusterIP 服务发现 | | `ingress.yaml` | ingress | 对外入口,TLS 终结 + 路由 | | `*-hpa.yaml` | hpa | 水平自动扩缩容 | ## 命名空间规划 | Namespace | 用途 | |-----------|------| | `edu-system` | 系统组件(数据库代理、配置等) | | `edu-services` | 业务微服务(api-gateway / iam / core-edu / content / msg) | | `edu-monitoring` | 监控栈(Prometheus / Grafana / Alertmanager) | | `edu-ingress` | 入口控制器(NGINX Ingress / cert-manager) | ## 部署顺序 ```bash kubectl apply -f namespace.yaml kubectl apply -f configmap-*.yaml kubectl apply -f secret-*.yaml # 生产请改用 External Secrets kubectl apply -f *-deployment.yaml kubectl apply -f *-service.yaml kubectl apply -f ingress.yaml kubectl apply -f *-hpa.yaml ``` ## Helm 化路线(后续) 1. 将骨架迁移为 Helm Chart(`charts/edu-platform/`) 2. 每个微服务一个子 Chart,统一通过 umbrella chart 编排 3. 环境差异通过 values-.yaml 管理 4. 敏感配置接入 External Secrets Operator(对接 Vault / KMS) 5. CI/CD 通过 ArgoCD / Flux 做 GitOps 部署 ## 当前文件 - `namespace.yaml`:4 个命名空间定义 - `api-gateway-deployment.yaml`:api-gateway Deployment + Service 骨架