在生产环境迁徙至 Kubernetes 的过程中,有一个服务和其余服务不太一样,该服务次要用于和底层 SAP 零碎做数据交换和同步,SAP 提供了 SAP Java Connector(SAP JCo)的开发库来连贯 SAP 零碎。
非容器环境下 Linux
Jco 实质上是基于 RFC 的 ABAP 和 JAVA 过程间通信组件,和其余组件不同,并不是引入一个 Jar 包就解决问题,从官网下载的包里蕴含 2 个文件,Jar 包和本地 Native 库:
- libsapjco3.so
- sapjco3.jar
必须要在零碎环境变量加载 Native 库能力驱动 Jar 包
echo "export LD_LIBRARY_PATH=/ 你的目录" >> /etc/profile
# 失效
source /etc/profile
如此 Java 利用运行后便可能胜利连贯 SAP 零碎。
容器环境下
因为须要迁徙至 Kubernetes 环境下,所以剖析后须要做到如下三点:
-
定义 volume 把 jco 文件夹做 hostpath 挂载至 Pod 内
在宿主机上传 jco 文件夹后,做挂载
这里为了方便使用的是 Kuboard 工具,并没有间接编辑 yaml 资源文件。如果不是业余 Kubernetes 运维,其实集体倡议应用一些图形管理工具会更加高效一点。
-
配置环境变量 LD_LIBRARY_PATH
-
因为并不想把所有机器都上传 jco 文件夹,所以思考还是选出 2 - 3 台机器加标签后,把此利用限度一下调度主机范畴
做完上述三点后,于是启动,sap 连贯失常,就这样。