平台服务 (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。

总览

这一类共 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 副本,priority production-medium。Service 端口 8089 → 容器 8080。依赖 Vault yldm/production/analytics 与共享的 yldm/database。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
  • Name
    auth
    Description
    镜像 ghcr.io/yldm-tech/auth:2.3.1,2 副本,priority production-high。Service 端口 80 → 容器 8080。依赖 Vault yldm/production/authyldm/database,外加 github/app。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
  • Name
    commerce
    Description
    镜像 ghcr.io/yldm-tech/commerce:2.3.1,2 副本,priority production-high。Service 端口 80 → 容器 8080。依赖 Vault yldm/production/commerceyldm/database。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
  • Name
    engagement
    Description
    镜像 ghcr.io/yldm-tech/engagement:2.3.1,2 副本,priority production-medium。Service 端口 80 → 容器 8080。依赖 Vault yldm/production/engagementyldm/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 副本,ingress api.fluxa.cash / *.fluxa.cash,容器 8090)、fluxa-worker(后台循环,1 副本,无 ingress)、fluxa-mcp-merchant(2 副本,ingress mcp.fluxa.cash,容器 8091)、fluxa-mcp-admin(1 副本,ingress mcp-admin.fluxa.cash,容器 8092)。依赖 Vault yldm/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 副本,priority production-high。Service 端口 80 → 容器 8080,Ingress yldm-api-gateway 暴露 host api.yldm.ai/ 全量转发到 platform-gateway:80)。依赖 Vault yldm/production/gatewayyldm/database。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
  • Name
    management
    Description
    镜像 ghcr.io/yldm-tech/management:2.3.1,2 副本,priority production-medium。Service 端口 80 → 容器 8080。依赖 Vault yldm/production/managementyldm/database。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
  • Name
    media
    Description
    镜像 ghcr.io/yldm-tech/media:2.3.1,2 副本,priority production-medium。Service 端口 8090 → 容器 8080。依赖 Vault yldm/production/mediayldm/database。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
  • Name
    notification
    Description
    镜像 ghcr.io/yldm-tech/notification:2.3.1,2 副本,priority production-medium。Service 端口 80 → 容器 8080。依赖 Vault yldm/production/notificationyldm/database。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
  • Name
    scheduler
    Description
    镜像 ghcr.io/yldm-tech/scheduler:2.3.1,2 副本,priority production-medium。Service 端口 80 → 容器 8080。依赖 Vault yldm/production/scheduleryldm/database。有 VPA、PDB、ServiceMonitor、PrometheusRule(kustomization 里没有 HPA)。
  • Name
    social
    Description
    镜像 ghcr.io/yldm-tech/social:2.3.1,2 副本,priority production-medium。Service 端口 8089 → 容器 8080。依赖 Vault yldm/production/socialyldm/database。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。
  • Name
    user
    Description
    镜像 ghcr.io/yldm-tech/user:2.4.0(这一类里唯一不在 2.3.1 的 tag),2 副本,priority production-high。Service 端口 80 → 容器 8080。依赖 Vault yldm/production/useryldm/database。有 HPA、VPA、PDB、ServiceMonitor、PrometheusRule。

通用约定

下面这些约定对 platform 类(fluxa 的多 workload 除外,其结构更复杂)基本一致:

维度取值
namespaceplatform,namePrefix platform-
副本数单服务业务容器 2 副本(fluxa 各 workload 见上表)
容器端口8080(fluxa 系列为 8090/8091/8092)
资源 requests/limitsrequests 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 打散多副本

评论