部署
Kubernetes
在 Kubernetes 环境部署 ObjectOS。
Kubernetes
当你的生产部署需要受管的密钥、Ingress、探针、滚动升级和客户自管数据库时,使用 Kubernetes。
ObjectOS 目前尚未提供打包好的 Helm chart,因此下面的指南将说明如何围绕已发布的容器镜像组装相应的清单(manifests)。
部署形态
一个生产形态的 ObjectOS 部署通常包含:
| 组件 | 推荐 |
|---|---|
| Deployment | 一个 ObjectOS 容器镜像 |
| Service | 用于 HTTP 流量的 ClusterIP Service |
| Ingress | TLS 终结和客户主机名路由 |
| Secret | OS_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 或产物指针。