内容纲要
概要描述
本文主要描述在 Inceptor 5.x ~ 7.x 版本创建持久化UDF实例参考。
详细说明
在服务器上准备 UDF jar 包
选择任意 Inceptor 角色所在节点上传好 jar 包。
查看 registry 节点
服务器执行
kubectl get po -owide -nkube-system | grep registry
第7列即为 registry 所在节点的节点名,如图中的kv1
,记下该值。
查看当前 Inceptor 镜像
继续执行
docker images | grep inceptor | grep {inceptor 实际版本号,如 6.2.2}
注意grep后面必须跟上实际使用的 Inceptor 版本号,避免误操作。通常第一个镜像即为当前实际使用的 Inceptor 镜像,记下第二列标签(如图中的transwarp-6.2.2-final
),记下第三列ID(如图中的b2cd9cf26900
)。
备份当前 Inceptor 镜像
在操作镜像前,请务必先备份现在的镜像,以便万一遇到问题还可以回滚。
docker tag {镜像 ID} {registry 节点名}:5000/transwarp/inceptor:{镜像标签}-backup-{自定义字段,例如当前日期}
执行后可再次检查镜像情况
docker images | grep inceptor | grep {inceptor 实际版本号,如 6.2.2}
如上图,说明已备份成功。
创建空目录并放入 jar 包
确保当前 jar 包在一个空目录中,不能有其他无关文件。
编写 dockerfile 文件
在这个只放入 jar 包的目录下,编写 dockerfile 文件
vi dockerfile
编辑如下内容
FROM {镜像 ID}
ADD {jar包名称} /usr/lib/inceptor/lib/{jar包名称}
编辑完成后,该目录下应该只有 jar 包和 dockerfile 文件。
构建镜像
执行以下命令
docker build -f dockerfile -t {registry节点hostname}:5000/transwarp/inceptor:{镜像标签} ./
推送镜像
执行以下命令
docker push {registry节点hostname}:5000/transwarp/inceptor:{镜像标签}
重启 Inceptor
在 Manager 页面上重启 Inceptor 服务。
创建 UDF
重启后即可创建UDF,例如:
create permanent function func_name as 'package.classname';