TDS301升级jdk版本

  其他常见问题
内容纲要

概要描述

基于客户侧要求升级TDS的jdk到最新版本。
301版本的studio的jdk版本默认为jdk1.8.0_201,客户要求升级至最新的"1.8.0_362",下面为具体步骤。

详细描述

1.确认对应组件包含的镜像包并且备份

  • 以foundation组件为例,其组件包含了connector 、gateway、 navigator、 search、 tools、 user-server 、user-web这些镜像包。
    file

  • 备份相关组件镜像; 切记对于所要升级的组件的镜像一定都要做好备份!!

    docker tag e5d2a98ab3ca ddmss00:5000/transwarp/foundation-connector:studio-3.0.1-final-bak
    file

ps:具体的可以根据对实际运行的组件通过kubectl describe pod获取对应的镜像id,例如catalog组件仅通过dokcer images|grep catalog 则获取不到baymax的镜像信息。

kubectl describe pod baymax-web-catalog4-769d9b46df-rzt8p |grep Image

file
file

如上得出镜像信息为
ddmss00:5000/transwarp/foundation-gateway:studio-3.0.1-final 等等

2.根据所要更新的镜像信息,构建Dockerfile

dockerfile的内容大概如下:

FROM ddmss00:5000/transwarp/catalog-platform:studio-3.0.1-final
COPY OpenJDK8U-jdk_x64_linux_hotspot_8u362b09.tar.gz /usr/java/
RUN tar -zxf /usr/java/OpenJDK8U-jdk_x64_linux_hotspot_8u362b09.tar.gz -C /usr/java/
RUN chown -R root:root /usr/java/jdk8u362-b09
RUN mv /usr/java/jdk1.8.0_201 /usr/java/bak-jdk1.8.0_201
RUN yes|cp /usr/java/bak-jdk1.8.0_201/jre/lib/security/cacerts /usr/java/jdk8u362-b09/jre/lib/security/
RUN cp -r /usr/java/jdk8u362-b09 /usr/java/bak-jdk8u362-b09
RUN rm -f /usr/java/OpenJDK8U-jdk_x64_linux_hotspot_8u362b09.tar.gz
ENV JAVA_HOME=/usr/java/jdk8u362-b09
ENV JAVA8_HOME=/usr/java/jdk8u362-b09
ENV PATH=$JAVA_HOME/bin:$PATH

上述dockerfile中是对catalog的catalog-platform镜像进行升级,其他组件需替换该镜像信息,其他内容保持不变即可,除了catalog的baymax和sqlbook的镜像,foundation、workflow、tdt的镜像均适用。

对于sqlbook和 catalog的baymax,则需要修改一下dockefile的内容,具体如下

FROM ddmss00:5000/transwarp/baymax-web:studio-3.0.1-final
COPY OpenJDK8U-jdk_x64_linux_hotspot_8u362b09.tar.gz /usr/java/
RUN tar -zxf /usr/java/OpenJDK8U-jdk_x64_linux_hotspot_8u362b09.tar.gz -C /usr/java/
RUN chown -R root:root /usr/java/jdk8u362-b09
RUN rm -rf /usr/java/latest
RUN ln -s /usr/java/jdk8u362-b09/ /usr/java/latest
RUN yes|cp /usr/java/jdk1.8.0_192-amd64/jre/lib/security/cacerts /usr/java/jdk8u362-b09/jre/lib/security/
RUN cp -r /usr/java/jdk8u362-b09 /usr/java/bak-jdk8u362-b09
RUN rm -f /usr/java/OpenJDK8U-jdk_x64_linux_hotspot_8u362b09.tar.gz
ENV JAVA_HOME=/usr/java/jdk8u362-b09
ENV JAVA8_HOME=/usr/java/jdk8u362-b09
ENV PATH=$JAVA_HOME/bin:$PATH

3.构建新的镜像

  • 将OpenJDK8U-jdk_x64_linux_hotspot_8u362b09.tar.gz包和dockerfile 上传至管理服务器节点某目录下
    file

  • 生成新的镜像

    docker build -f Dockerfile-baymax -t ddmss00:5000/transwarp/baymax-web:studio-3.0.1-final ./
    file

  • 将新的镜像push到镜像库中

    docker push ddmss00:5000/transwarp/baymax-web:studio-3.0.1-final

4.重启服务生效

  • 待相关服务的所有组件的镜像都升级完成之后,在manager页面重启相关服务。

  • PS:本次JDK只升级了foundation、workflow、transporter、catalog、sqlbook组件。

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。