部署

部署

在你自己的基礎設施上執行 ObjectOS —— 開放的社群版映象或需許可證的企業版映象,同一個執行時、同一份配置契約,以及許可證額外帶來什麼。

ObjectOS 有兩個自管理版本,它們的部署方式相同。ObjectOS Community 是開源 的執行時映象;ObjectOS Enterprise 是需許可證的映象,可以作為 Enterprise Single-Node 執行在單節點上,也可以作為完整的企業版部署。兩者運行同一個執行時, 讀取同一份配置:一個數據庫、一個認證金鑰和一個加密金鑰。不同之處在於映象從哪裡 來、應用如何進入,以及許可證解鎖什麼。本節的每一頁都同時為兩者編寫一次,並以 企業版額外提供一節結尾,說明需許可證的映象能多做什麼。

兩個映象

CommunityEnterprise
映象ghcr.io/objectstack-ai/objectstack,公開需許可證的企業版映象,來自私有映象倉庫;你的許可證附帶映象倉庫憑據
固定方式確切的版本標籤(X.Y.Z),與映象內的 ObjectStack CLI 一致;在位元組不能變化的地方,還要固定它的摘要(原因)你的釋出說明中點名的映象摘要
架構linux/amd64 和 linux/arm64僅 linux/amd64
應用如何到達你用 os build 編譯出的 objectstack.json:掛載進去、複製進你自己的映象,或由 OS_ARTIFACT_URL 指定。空的執行時則改為從 Console 市場安裝應用。三種執行形態之一:應用打包在映象中、一個已釋出的產物,或者一個與映象的企業外掛組合在一起的已釋出產物(見下文)
必須設定的變數OS_DATABASE_URL、OS_AUTH_SECRET、OS_SECRET_KEY(映象已經設定了 OS_PORT=8080)同上,另加 OS_LICENSE_KEY 和一個經過考慮的 OS_CLOUD_URL
可複製的配置這些頁面上的示例隨每個版本釋出的部署包
許可證解鎖什麼——產品內 AI(AI Builder、"問你的資料")、AI 治理、叢集與高可用、一個部署上的多個組織、SCIM、物理隔離執行

版本對比給出了完整的矩陣。在 Community 上構建的應用 就是普通的 ObjectStack 後設資料,不做任何修改即可在 Enterprise 上執行。

每個部署都要決定三件事

決策含義
執行哪些位元組固定一個確切的映象。像 latest 這樣的滾動標籤可能在你不知情時被重新指向,確切的版本標籤在該版本被重新構建時也會如此;只有摘要不會。保留上一個版本:那就是回滾。
配置放在哪裡放在映象和應用之外。資料庫 URL、金鑰和部署的身份都是在執行時注入的環境變數,絕不烘焙進映象。環境變數就是契約。
哪個資料庫生產環境執行在 PostgreSQL 上。沒有 OS_DATABASE_URL 時,執行時會在其主目錄下寫一個 SQLite 檔案,這適合一臺持久的主機,但在容器的臨時檔案系統上會丟失資料。

應用如何進入

Community 映象不帶任何應用。你把 os build 編譯出的產物 dist/objectstack.json 交給它,有三種方式:

方式做法何時使用
掛載把檔案掛載到 /srv/app/objectstack.json,映象預設在那裡查詢你完全不想構建映象
複製進你自己的映象一個 FROM 官方映象的兩階段 Dockerfile你每個版本釋出一個自包含的映象
按 URL 指定OS_ARTIFACT_URL,可選帶一個 #sha256= 完整性固定值你希望升級應用就是一次環境變更加一次重啟

Docker 展示了全部三種方式。完全沒有產物時,執行時 會啟動一個空核心,應用從 Console 市場安裝。

指南

  • Docker —— 執行映象、配置它、把它放到代理後面、升級它。
  • Kubernetes —— 在編排器上運行同一個映象,以及需要保持的屬性。
  • 物理隔離 —— 僅限企業版:物理隔離是一種許可證模式,以及會在啟動時被拒絕的組合。

沒有容器執行時的話,同一個產物可以在裝有 Node.js 22 的主機上通過 os start 執行 —— 參見在本地執行 ObjectOS Community。

企業版額外提供

另外兩個決策:許可證和雲端姿態

決策含義
哪種許可證許可證是正常路徑的一部分,而不是附加項。有些部署形態沒有許可證會拒絕啟動。
哪種雲端姿態這個執行時是否與控制平面通訊。它與許可證模式耦合,不受支援的組合會在啟動時被拒絕,而不是悄悄降級。

實踐中這兩者是同一個決策,而選錯的後果是啟動失敗,而不是緩慢的洩漏。 物理隔離完整列出了受支援的組合 —— 即使你的站點是聯網 的也請讀一讀,因為正是那一頁解釋了這些組合為什麼是現在這樣。

部署包

你的版本會附帶一個部署包:一個 Compose 技術棧、每種受支援形態的環境模板, 以及一份 README,其中有適用於你的版本的確切命令 —— 包括映象倉庫引用、摘要和供應 鏈校驗步驟。

這些頁面承載的是決策 —— 為什麼用摘要、哪種形態用哪種許可證模式、多節點使 什麼成為必需、執行時會拒絕什麼。部署包承載的是你要複製的值。當兩者看起來 不一致時,以隨你的映象釋出的部署包為準:它與它所配置的執行時一同版本化。

三種執行形態

企業版映象可以用三種方式執行應用,而這個選擇會影響你能用什麼 —— 它不僅僅是 打包方式的問題。

形態應用來自何時使用
配置編寫映象自帶的應用 —— 映象中編寫的後設資料,加上安裝進它的任何內容單組織部署;Compose 技術棧配置的預設形態,也是不需要任何配置的形態。
產物固定一個按 URL 指定的已釋出應用產物,在任何部署配置執行之前解析你執行一個已釋出的應用,並希望升級應用就是一次環境變更加一次重啟,無需重建映象。注意,在這條路徑上部署的企業外掛不會載入。
組合一個與本部署的企業外掛組合在一起的已釋出應用產物多個組織共享一個數據庫。這是託管的單應用 SaaS 形態 —— 並且僅限物理隔離許可證,在啟動時強制執行。

每種形態在部署包中都有自己的環境模板。複製適用於你的形態的那一個,而不是改寫 另一個:這些模板的不同之處,正是決定姿態的那些值,而它們恰恰是執行時在提供任何 服務之前會檢查的值。