从现有 Eon 模式数据库生成自定义资源
为了简化对基于 Kubernetes 的 Vertica 的采用,Vertica 提供了 vdb-gen
迁移工具,该工具可将现有 Eon 模式数据库恢复为 Kubernetes 中的 StatefulSet。 vdb-gen
通过连接到数据库并写入标准输出,从现有 Eon 模式数据库生成自定义资源 (CR)。
vdb-gen
工具在 vertica-kubernetes GitHub 存储库中作为项目提供。使用 -h
标志查看可用选项(包括用于调试和使用环境变量的选项)的完整列表。以下步骤使用基本命令生成 CR。
-
执行
vdb-gen
并将输出重定向到 YAML 格式的文件:$ vdb-gen --password secret --name mydb 10.20.30.40 vertdb > vdb.yaml
上面的命令使用以下标志和值:
-
password:现有数据库的超级用户密码。
-
name:新的自定义资源对象的名称。
重要
资源类型名称不能包含下划线字符。资源类型名称用于完全限定域名 (FQDN),并且 FQDN 不允许使用下划线字符。您必须提供一个符合 Kubernetes 准则 的有效名称。
例如,Vertica 服务器生成的默认子群集名称为
default_subcluster
。此名称对 Kubernetes 资源类型无效。 -
10.20.30.40:现有数据库的 IP 地址
-
vertdb:现有 Eon 模式数据库的名称。
-
vdb.yaml:YAML 格式的文件,包含由 vdb-gen 工具生成的自定义资源定义。
-
-
使用 admintools stop_db 命令 停止现有数据库:
$ /opt/vertica/bin/admintools -t stop_db -d vertdb
等待群集租约到期后再继续。有关详细信息,请参阅恢复 Eon 模式数据库群集。
-
应用由 vdb-gen 工具生成的 YAML 格式的清单:
$ kubectl apply -f vdb.yaml verticadb.vertica.com/mydb created
注意
出于性能目的,请勿将清单应用于已包含基于 Kubernetes 的 Vertica 安装的资源。 -
操作器创建 StatefulSet,在每个 pod 上安装 Vertica,然后运行恢复。要查看为新数据库生成的事件,请使用
kubectl describe
:$ kubectl describe vdb mydb