平台服务 (platform)
platform 类是 yldm 集群的后端平台能力层,全部部署在 platform namespace(kustomize 统一 namespace: platform + namePrefix: platform-,所以生成的 Application platform-<service> 对应资源 platform-<service>-*)。绝大多数服务镜像来自 ghcr.io/yldm-tech/<service>,监听容器 8080 端口,跑 2 副本并由 argocd-image-updater 按 semver 回写镜像 tag。
这些都是无源码可读的二进制服务,下面只列 manifest 能验证的事实(镜像、副本数、端口、ingress host、依赖的 Vault secret、是否有 HPA/VPA/PDB/ServiceMonitor),不臆测业务语义。集群整体编排见 集群架构 与 GitOps 工作流。
总览
这一类共 13 个服务。其中 gateway 是对外 HTTP 入口,通过 Ingress 暴露 api.yldm.ai,把流量转发到内部各 platform 服务;fluxa 是多 workload 的支付网关,单独有自己的对外域名 *.fluxa.cash。其余服务大多只暴露 ClusterIP Service,由 gateway 在集群内访问,本身不直接对外。
所有服务的 Deployment 都带 reloader.stakater.com/auto: "true"(ConfigMap/Secret 变更自动滚动),并配置了基于 app 标签的 podAntiAffinity(按 kubernetes.io/hostname 把多副本打散到不同节点)。priorityClassName 分两档:production-high(auth、commerce、gateway、user)和 production-medium(其余)。
服务清单
- Name
- analytics
- Description
- 镜像
ghcr.io/yldm-tech/analytics:2.3.1,2 副本,priorityproduction-medium。Service 端口 8089 → 容器 8080。依赖 Vaultyldm/production/analytics与共享的yldm/database。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
- Name
- auth
- Description
- 镜像
ghcr.io/yldm-tech/auth:2.3.1,2 副本,priorityproduction-high。Service 端口 80 → 容器 8080。依赖 Vaultyldm/production/auth、yldm/database,外加github/app。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
- Name
- commerce
- Description
- 镜像
ghcr.io/yldm-tech/commerce:2.3.1,2 副本,priorityproduction-high。Service 端口 80 → 容器 8080。依赖 Vaultyldm/production/commerce、yldm/database。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
- Name
- engagement
- Description
- 镜像
ghcr.io/yldm-tech/engagement:2.3.1,2 副本,priorityproduction-medium。Service 端口 80 → 容器 8080。依赖 Vaultyldm/production/engagement、yldm/database,外加yldm/linear。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
- Name
- fluxa
- Description
- 多商户支付网关(后端),单镜像
ghcr.io/yldm-tech/fluxa:1.0.9部署成四个 workload:fluxa-server(HTTP API,2 副本,ingressapi.fluxa.cash/*.fluxa.cash,容器 8090)、fluxa-worker(后台循环,1 副本,无 ingress)、fluxa-mcp-merchant(2 副本,ingressmcp.fluxa.cash,容器 8091)、fluxa-mcp-admin(1 副本,ingressmcp-admin.fluxa.cash,容器 8092)。依赖 Vaultyldm/production/fluxa(含app_secret/jwt_secret/database_url/redis_url等),数据库走pgbouncer.postgres.svc.cluster.local:5432,并有 NetworkPolicy、ServiceAccount、HPA、VPA、ServiceMonitor、PrometheusRule。详见 fluxa 目录内README.md(含app_secret轮换 runbook 与reencrypt-job.yaml)。
- Name
- gateway
- Description
- 对外 HTTP 入口。镜像
ghcr.io/yldm-tech/gateway:2.3.1,2 副本,priorityproduction-high。Service 端口 80 → 容器 8080,Ingressyldm-api-gateway暴露 hostapi.yldm.ai(/全量转发到platform-gateway:80)。依赖 Vaultyldm/production/gateway、yldm/database。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
- Name
- management
- Description
- 镜像
ghcr.io/yldm-tech/management:2.3.1,2 副本,priorityproduction-medium。Service 端口 80 → 容器 8080。依赖 Vaultyldm/production/management、yldm/database。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
- Name
- media
- Description
- 镜像
ghcr.io/yldm-tech/media:2.3.1,2 副本,priorityproduction-medium。Service 端口 8090 → 容器 8080。依赖 Vaultyldm/production/media、yldm/database。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
- Name
- notification
- Description
- 镜像
ghcr.io/yldm-tech/notification:2.3.1,2 副本,priorityproduction-medium。Service 端口 80 → 容器 8080。依赖 Vaultyldm/production/notification、yldm/database。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
- Name
- scheduler
- Description
- 镜像
ghcr.io/yldm-tech/scheduler:2.3.1,2 副本,priorityproduction-medium。Service 端口 80 → 容器 8080。依赖 Vaultyldm/production/scheduler、yldm/database。有 VPA、PDB、ServiceMonitor、PrometheusRule(kustomization 里没有 HPA)。
- Name
- social
- Description
- 镜像
ghcr.io/yldm-tech/social:2.3.1,2 副本,priorityproduction-medium。Service 端口 8089 → 容器 8080。依赖 Vaultyldm/production/social、yldm/database。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
- Name
- user
- Description
- 镜像
ghcr.io/yldm-tech/user:2.4.0(这一类里唯一不在 2.3.1 的 tag),2 副本,priorityproduction-high。Service 端口 80 → 容器 8080。依赖 Vaultyldm/production/user、yldm/database。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
通用约定
下面这些约定对 platform 类(fluxa 的多 workload 除外,其结构更复杂)基本一致:
| 维度 | 取值 |
|---|---|
| namespace | platform,namePrefix platform- |
| 副本数 | 单服务业务容器 2 副本(fluxa 各 workload 见上表) |
| 容器端口 | 8080(fluxa 系列为 8090/8091/8092) |
| 资源 requests/limits | requests 50m CPU / 64Mi 内存,limits 200m CPU / 256Mi 内存 |
| 镜像 tag | 由 argocd-image-updater 按 semver 回写,不要手动钉 |
| 密钥 | ExternalSecret 从 Vault ClusterSecretStore vault-backend 拉取,统一含 yldm/production/<service> + 共享 yldm/database |
| 配置热重载 | Deployment 带 reloader.stakater.com/auto: "true" |
| 调度 | 按 app 标签做 podAntiAffinity,按 hostname 打散多副本 |
镜像 tag 别手动改:argocd-image-updater 会按
^\d+\.\d+\.\d+$ 的 strict semver 把新 tag 回写进各服务的 kustomization images: 块(即仓库里那些 build: automatic update of … 提交)。