跳至主要内容 跳至导航 跳至页脚
限时:设计合作伙伴计划,BUSINESS 套餐永久免费

Fork 隔离实战

Fork 一个运行中的 PostgreSQL + pgAdmin 应用,与原始版本并排编辑,直观验证 fork 的独立性。

Fork 隔离实战

Fork 教程展示了命令。这篇展示的是命令背后的含义:一个运行中的数据库应用,在几秒内完成复制,在浏览器里随意修改,而原始仓库毫无察觉。

观看教程

场景设置

运行中的数据库与它的孪生体

一个真实的 PostgreSQL 配上 pgAdmin 界面,在服务器上实时运行。Fork 是它的即时写时复制孪生体:诞生时数据相同,此后各自独立。

第一步:查看线上应用

rdc repo list --machine <machine-name>

从一个实时 repository 开始:机器上运行着 PostgreSQL 数据库和 pgAdmin。

第二步:Fork 它

rdc repo fork --parent demo-pgadmin --tag experiment --machine <machine-name> --up --detach

使用 --up --detach fork 该 repository:CoW 克隆几乎瞬间完成,fork 的服务立即启动。

视频在浏览器中同时打开了两个 pgAdmin。原始仓库需要登录,生产环境保持守护。Fork 直接进入工作台:fork 是一次性沙盒,所以门禁让路(仓库本身根据是否为 fork 来决定这一行为)。

第三步:两个世界,一台服务器

rdc repo list --machine <machine-name>

列出 repository:原始 repository 与 fork 并排运行,完全隔离。

在 fork 里随意编辑、删除、破坏。原始仓库继续提供服务。Fork 那一刻数据相同,此后完全独立。

第四步:用完即弃

rdc repo delete --name demo-pgadmin:experiment --machine <machine-name>

完成后删除 fork,原始 repository 保持不变。

几秒创建,几秒销毁。这就是”克隆生产环境,万无一失”成为日常习惯而非特殊操作的原因。


下一篇:管理密钥