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 官方文件中,可直接點選查閱