ARTIFACTORY:如何在运行中的ARTIFACTORY Kubernetes版本中更改JVM
如果您想要更改与artifactory捆绑在一起的JVM(无论是不同的发行版还是不同的版本),您可以通过更改system.yaml中的java主目录来轻松更改artifactory中的java运行时代理。但是,如果您的工件与kubernetes一起安装,则可以执行以下步骤以最小的停机时间更改JVM。
步骤
1.下载想要使用的JDK归档文件。(例如,adoptopenjdk可以在这里获得https://staging.adoptopenjdk.net/17/archive.html)
2.将下载归档文件Cp到artifactory pod(注意我的pod名称是d-artifactory-0),我们复制到/opt/jfrog/artifactory/var路径,因为它是持久化的。你可以在它下面创建一个目录来存储运行时):kubectl cp OpenJDK.tar.gz d-artifactory-0:/opt/jfrog/artifactory/var
3.解压缩pod内的java运行时。对每个节点重复此操作。
4.编辑系统。修改javaHome:共享:您可以通过更改值来实现这一点。Yaml和helm更新版本。或者,如果只想快速测试JVM更改,也可以直接修改密钥。
javaHome: / opt / jfrog / artifactory / var / jdk-11.0.10 + 9”$ kubectl get secret d-artifactory-systemyaml -o jsonpath="{.data}"
Base64解码以获得systemYaml内容并更改javaHome
再次对值进行编码。运行
$ kubectl编辑secret -artifactory-systemyaml
以替换已编码的字符串。
5.对每个pod执行滚动重启。在启动时,您应该看到:[shell] [INFO] [] [systemYamlHelper.sh:522] [main] -解析。maxOpenConnections (80) from /opt/jfrog/artifactory/var/etc/system.yaml如果您希望在引导时持久化此更改,并且您的pod可以访问internet,则可以在values中使用preStartCommand。加载额外的Java运行时:
[shell] [INFO] [] [systemYamlHelper.sh:522] [main] -解析。access.database. sql。maxOpenConnections (80) from /opt/jfrog/artifactory/var/etc/system.yaml
[shell] [INFO] [] [systemYamlHelper.sh:522] [main] - Resolved .shared。javaHome (/opt/jfrog/artifactory/var/jdk-11.0.10+9
[shell] [INFO] [] [installerCommon.sh:1514] [main] -检查打开文件和进程限制
[INFO] [] [installerCommon.sh:1517] [main] -当前最大打开文件数为1048576artifactory:
preStartCommand: "wget -c