小记:如何将 Logstash7 镜像替换为 KonaJDK

date
Dec 28, 2021
slug
use-konajdk-in-logstash-image.html
status
Published
tags
tech
guide
logstash
ELK
konajdk
note
summary
随手记录,简单却防遗忘
type
Post
 

Step 0 预备环境

Rake 是一个由 Ruby 实现的 Make-like 工具,可以用 Ruby 来编排项目任务流程,例如出二进制包、构建镜像等。在 GitHub Logstash 项目的 rakelib 里找到镜像构建逻辑。
构建之前,需要保证构建机包含以下工具:
  • Docker
  • GNU Make
  • Python 3.5+ with Virtualenv
  • JRuby 9.1+ (实际上 Mac 自带 Ruby 也是可行的)
然后将 Logstash 项目 clone 到本地,并切换到预期修改的版本:
git checkout v7.16.2

Step 1 精简构建步骤

构建步骤中,默认会包括 Windows\MacOS 以及 Arm 的构建,如果你并不需要这些平台,可以如下手动修改构建步骤,能够大大加快你的构建速度:
# create_archive_pack(license_details, "x86_64", "linux", "windows", "darwin")
create_archive_pack(license_details, "x86_64", "linux")
# create_archive_pack(license_details, "arm64", "linux")
artifacts.rake

Step 2 修改 Python 版本

如果你不想为了构建镜像额外下载其他 Python 版本,可以手动修改 Makefile
# PY_VERSION ?= 3.6.13
# =>
PY_VERSION ?= 3.6.7
Makefile
理论上保证 Python 版本大于 3.5 即可。
 

Step 3 指定 JDK 版本

如标题所示,我们的目标是将 Logstash 镜像里的 OpenJDK 替换成 KonaJDK。构建时手动指定 JDK 地址即可
JDK_URL=https://github.com/Tencent/TencentKona-11/releases/download/kona11.0.13-fiber/TencentKona-11.0.13.b1_jdk_fiber_linux-x86_64.tar.gz rake artifact:docker
 
等待构建,大功告成 xD
 

© bluesyu 2019 - 2023

powered by nobelium