一键将 Laf 迁移到 Sealos 云开发(Sealaf),有手就行!

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 地址如下

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 官方文档中,可直接点击查阅

posted @ 2024-04-11 11:40  米开朗基杨  阅读(105)  评论(0编辑  收藏  举报