一鍵將 Laf 遷移到 Sealos 雲開發(Sealaf),有手就行!

米开朗基杨發表於2024-04-11

Laf 雲開發最近已正式與 Sealos 融合,成為 Sealos 雲開發(Sealaf),Sealaf 繼承了 Laf 的核心功能,預設配置專用資料庫,擁有更好的穩定性,未來我們會將迭代重心轉向 Sealaf,強烈建議將 Laf 上的應用立刻遷移至 Sealaf!

為什麼要遷移?

可聯動豐富應用生態Sealos 應用市場中有豐富的應用,這些應用都可一鍵部署、開箱即用。可以在雲函式中直接內網呼叫這些應用提供的能力,一站式滿足你的業務!

更多的資料庫和中介軟體選擇:過去的 Laf 提供的雲資料庫只有 MongoDB,如今可直接在 Sealos 上一鍵啟動 PostgreSQL、MySQL、Redis、Kafka、ElasticSearch 等各種資料庫和中介軟體,並直接內網呼叫

統一賬戶:以前使用者需要分別在 Laf 和 Sealos 註冊賬戶,現在無需分別註冊和充值,統一使用 Sealos 賬戶和賬單(餘額轉移可聯絡客服)。

管理更靈活:以前使用者無法單獨管理 Laf 建立的雲資料庫,比如備份、日誌、觀測、匯入匯出等操作,現在 Sealos 雲開發上建立的資料庫,可以透過 Sealos 資料庫管理應用直接管理和監控,也可使用本地的資料庫管理工具直接連線。

多區域選擇:在 Sealos 上目前支援杭州北京廣州新加坡等可用區,以滿足不同業務的需要,在一個 Sealos 賬戶下充值,可跨多個區域使用。

遷移內容

Laf 遷移包含以下多塊內容,我們可以使用 laf-cli 快速完成遷移:

  • 雲函式
  • 雲端儲存
  • 資料庫
  • 觸發器
  • 環境變數
  • 函式依賴
  • 自定義域名
  • 網站託管

遷移步驟

1. 分別在 laf 和 sealaf 建立 PAT


關於 laf-cli 的詳細使用方法請參考 laf-cli 文件

2. 下載 cli 並初始化使用者

npm install -g laf-cli

laf user add laf -r https://laf.run
# 填入對應可用區的 api url
laf user add sealaf-hzh -r https://sealaf-api.hzh.sealos.run

laf user switch laf
# <PAT> 替換為剛剛建立的 PAT
laf login <PAT>
laf user switch sealaf-hzh
laf login <PAT>

Sealos 不同可用區 Sealaf 對應的 api 地址如下

  • 新加坡:https://sealaf-api.cloud.sealos.io
  • 廣州:https://sealaf-api.gzg.sealos.run
  • 杭州:https://sealaf-api.hzh.sealos.run
  • 北京:https://sealaf-api.bja.sealos.run

3. 拉取原應用資料

APPID="" # laf 上的 appid
mkdir $APPID && cd $APPID

laf user swicth laf
laf app init $APPID

# 拉取雲端儲存、環境變數、依賴
laf func pull

laf env pull

laf dep pull

# 列出儲存
laf storage list

# 依次拉取儲存到指定目錄
laf storage pull <bucketName> <path>

# 拉取資料庫
laf database export ./db

# 刪除 .app.yaml 以便重新 init 新應用
rm .app.yaml

4. 推送資料到新應用

NEW_APPID=""
laf user swicth sealaf-hzh

laf app init $NEW_APPID

laf func push

laf env push

laf dep push

# 需要先在 sealos 物件儲存上手動建立桶
laf storage push <bucketName> <path>

# 匯入資料庫
laf database import $APPID ./db/xxx.gz

rm .app.yaml

5. 重啟應用

重啟以確保環境變數等生效

6. (可選)手動建立觸發器、自定義域名

  • 方式一:使用 laf-cli 建立觸發器
# 列出觸發器
laf trigger list
# 建立
laf create <name> <target> <cron>
  • 方式二:在 Sealaf 介面直接建立觸發器

7. (可選)在 sealos 物件儲存開啟網站託管

8. (可選)cloud.storage.bucket 變更

如果原應用程式碼中使用了 cloud.storage.bucket(bucketName),需要在新應用中手動修改為新的 bucket 名稱(注意:現在必須填完整桶名)

遷移文件已放置在 laf 官方文件中,可直接點選查閱

相關文章