ObjectOS
部署

Kubernetes

在 Kubernetes 环境部署 ObjectOS。

Kubernetes

当你的生产部署需要受管的密钥、Ingress、探针、滚动升级和客户自管数据库时,使用 Kubernetes。

ObjectOS 目前尚未提供打包好的 Helm chart,因此下面的指南将说明如何围绕已发布的容器镜像组装相应的清单(manifests)。

部署形态

一个生产形态的 ObjectOS 部署通常包含:

组件推荐
Deployment一个 ObjectOS 容器镜像
Service用于 HTTP 流量的 ClusterIP Service
IngressTLS 终结和客户主机名路由
SecretOS_AUTH_SECRET、控制面 Token、数据库凭据
ConfigMap非敏感运行时配置
持久存储仅当使用本地文件产物或 SQLite 评估数据时
外部数据库生产业务数据推荐使用

必需配置

至少配置:

env:
  - name: PORT
    value: "3000"
  - name: OS_AUTH_SECRET
    valueFrom:
      secretKeyRef:
        name: objectos-secrets
        key: auth-secret

对于云连接模式:

env:
  - name: OS_CLOUD_URL
    value: "https://cloud.example.com"
  - name: OS_CLOUD_API_KEY
    valueFrom:
      secretKeyRef:
        name: objectos-secrets
        key: cloud-api-key

对于文件支持模式,挂载产物并设置:

env:
  - name: OS_ARTIFACT_FILE
    value: "/artifacts/objectstack.json"

探针

ObjectOS 内置 GET /health 端点,会在项目内核完全解析之前就响应,这使它适合作为存活和就绪探针的目标:

readinessProbe:
  httpGet:
    path: /health
    port: 3000
  initialDelaySeconds: 5
  periodSeconds: 10
livenessProbe:
  httpGet:
    path: /health
    port: 3000
  initialDelaySeconds: 15
  periodSeconds: 20

若需要更严格的就绪检查,可让另一个探针指向应用特定的自动生成 API 路由 —— 它能确认产物已加载且内核正在服务请求。

Ingress 与 CORS

在边缘或 Ingress 终结 TLS。为客户的前端来源显式配置 CORS。不要把通配符 origin 与带凭据的请求一起用。

当 ObjectOS 运行在反向代理之后时,确保代理在设置自己的 X-Forwarded-For 之前剥离客户端提供的值。限流和审计依赖于可信的调用方身份。

滚动升级

ObjectOS 镜像版本与应用产物版本是分开的。独立滚动它们:

  • ObjectOS 镜像:改变容器 tag 进行升级。
  • 应用产物:发布或挂载新的不可变产物。
  • 回滚:恢复上一个镜像 tag 或产物指针。

On this page