One product
两种部署方式使用同一套产品。
平台、参考套件、开发者的应用、助手、权限和审计链在两边完全一致,差别只在由谁运行、数据放在哪里。
Side by side
两种方式在六个方面有差别。
选择部署方式时,可以按下表逐项比较。
| 项目 | Raise Cloud | Raise Private |
|---|---|---|
| 开通 | 注册或开通组织,开通后即可使用 | 安装脚本先检查 CPU、内存、磁盘、端口,通过后安装 |
| 域名与品牌 | 组织子域名,或经 DNS 验证的自有域名;产品名、Logo、主题色、助手名、登录页随品牌 | 装在企业自己的域名下;品牌设置与云上相同 |
| 数据位置 | Raise Cloud 上;所有组织表强制行级安全 | 企业自己的机房和数据库 |
| 升级 | 组织固定在某个应用版本,手动或自动升级 | 签名镜像或离线包交付新版本;Kubernetes 上滚动升级 |
| 备份 | 由平台负责 | WAL-G 流式 WAL、每日全量、加密,附恢复演练脚本 |
| 许可 | 套餐:席位、可装应用数、存储上限 | 许可证:模块、功能、应用、套件、席位、期限,离线验签 |
Raise Private
私有化部署的每一步都有脚本和校验。
从一台主机到 Kubernetes 集群,安装、备份、主备切换和许可证验签都有对应的工具。
Install
一台 Linux 主机用 Compose 起步,大环境用 Helm 装进 Kubernetes。
没有外网时,使用离线安装包。
- 一台 Linux 主机。用 Compose 安装。安装脚本先检查 CPU、内存、磁盘和端口,不满足就停下,不会装到一半。
- Kubernetes 集群。用 Helm chart 安装:多副本、滚动升级、PDB。
- 离线安装包。没有外网也能安装。安装包带签名,逐文件校验;发布出多架构镜像、SBOM 和 cosign 签名。
sudo ./deploy/setup-host.sh --domain <域名> --license <license.json> --license-pubkey <厂商公钥>
helm install kwork deploy/helm/kwork -n kwork --create-namespace -f my-values.yaml --wait
tar -xf kwork-offline-1.4.0-amd64.tar && cd kwork-offline-1.4.0-amd64
sudo deploy/offline/install-offline.sh --pubkey /path/bundle-signing.pub --verify-only # 只校验,不改动任何东西
sudo deploy/offline/install-offline.sh --pubkey /path/bundle-signing.pub \
--license /path/license.json --license-pubkey /path/vendor.pub \
--domain work.corp --tls internal --pack onprem --with backup [--hosts] [--ops-bind 10.0.0.5]
cosign verify ghcr.io/21stware/kwork:<版本> --certificate-identity-regexp 'https://github.com/21stware/k3paas/.github/workflows/release.yml@refs/tags/v.*' --certificate-oidc-issuer https://token.actions.githubusercontent.com
出自运维手册:安装、Kubernetes(Helm)、发布与离线安装部署手册 →
Backup & failover
备份与恢复演练
WAL-G 流式备份 WAL,加每日全量,加密存放。恢复演练有脚本,执行一遍即可验证能否恢复。
- 数据库主备切换。Postgres 主备切换在 CloudNativePG 上实测过。
- 许可证离线验签。Ed25519 签名,在机房里离线验证,不回传用量。
deploy/scripts/restore-drill.sh # 最新全量 + 全部 WAL
deploy/scripts/restore-drill.sh --target-time '2026-10-06 11:32:17+00' # 时间点恢复
deploy/scripts/restore-drill.sh --backup base_000000010000000000000029 --keep # 指定全量,结束后保留容器
在一次性的容器和卷里恢复,不碰运行中的栈
Licence
许可证在本地离线验证。
许可证写明组织购买的内容。换上损坏的文件不影响原有许可;到期后先进入只读宽限期。
- 写明购买内容
模块、功能、应用、套件、席位、期限。
- 改动即失效
文件被修改过,验签就不会通过。
- 损坏的文件不替换有效许可
换上一个损坏的许可证,原来那份照常生效。
- 到期只读宽限
到期后进入只读宽限期,默认 30 天。
- 不回传用量
验签在本地完成,不连接 Raise 的服务器。
- 按客户签发
每个客户一份许可证;在 Raise 上开发的产品同样按许可证交付,见商业授权。
Scope of claims
官网只写已经做到并验证过的事。
左边是可以写进评审材料的事实,右边是官网有意不写的内容及原因。
可以写进评审材料的事实
- 对象引擎 10 万条记录,P95 低于 100 ms,压测过
- Postgres 主备切换实测过
- 安装前检查主机,不满足就停下
- 离线包签名,逐文件校验
- 恢复演练有脚本
官网不写的内容
- 可用性百分比:目标和告警有定义,官网不写数字
- 客户案例和 logo:官网不列
- 钉钉、飞书、SAML 身份源:由平台协助接入,不是自助
- 价格:三种形态都联系销售