pletorco/kafka

By pletorco

Updated about 1 month ago

A Strimzi-compatible Apache Kafka 4.x image maintained by Pletor Co., Ltd.

Image
Message queues
0

403

pletorco/kafka repository overview

Pletor Kafka for Strimzi

pletorco/kafka is a Strimzi-compatible Apache Kafka image maintained by Pletor Co., Ltd. It extends the official Strimzi Kafka operand image with the Pletor node metrics agent and monitoring configuration for Kafka, Kafka Connect, and MirrorMaker 2.

The same image is designed for these Strimzi custom resources:

  • Kafka
  • KafkaConnect
  • KafkaMirrorMaker2

Strimzi selects the appropriate Kafka, Connect, or MirrorMaker 2 launcher. The image does not replace the Strimzi entrypoint or runtime scripts.

What this image adds

AdditionPurpose
Pletor node metrics agentExposes process, cgroup, filesystem, and container-visible host metrics as JMX MBeans
Default node metrics configurationProvides a safe baseline configuration that works across Kafka, Connect, and MM2
Workload-specific node metrics rulesSupplies separate Kafka, Connect, and MM2 metric mappings
Workload-specific JMX reference rulesProvides Kafka and Connect/MM2 examples that include the Pletor co.pletor.* MBeans

Added files:

/opt/pletor/agents/node-metrics-agent-<version>-all.jar
/opt/pletor/config/node-metrics.yml
/opt/pletor/share/node-metrics/{kafka,connect,mm2}.yml
/opt/pletor/share/jmx/{kafka,connect,mm2}.yml

The node metrics agent is attached through KAFKA_OPTS. The default configuration observes the root filesystem (/) as a portable baseline. Mount a workload-specific /opt/pletor/config/node-metrics.yml when Kafka data, application logs, or other filesystems must be observed separately.

The image reuses the JMX Exporter supplied by the selected Strimzi base image and does not add a second JMX Exporter Java agent. Kafka, Connect, MM2 launchers, entrypoints, and the remaining runtime continue to come from Strimzi.

Image tags

Tags identify the Strimzi compatibility level, Kafka version, and Pletor release:

<strimzi-version>-kafka-<kafka-version>-pletor.<release>

Example:

1.1.0-kafka-4.2.0-pletor.1

Pull an exact tag:

docker pull pletorco/kafka:1.1.0-kafka-4.2.0-pletor.1

Mutable tags such as latest are not published. Production deployments should use an exact tag and preferably pin the image digest reported by Docker Hub.

Use with Strimzi

The following snippets use Kafka 4.2.0 and image tag 1.1.0-kafka-4.2.0-pletor.1 as an example. Select a tag supported by the installed Strimzi Operator and set the matching Kafka version in the custom resource.

Kafka
apiVersion: kafka.strimzi.io/v1
kind: Kafka
metadata:
  name: pletor-kafka
spec:
  kafka:
    version: 4.2.0
    metadataVersion: 4.2-IV1
    image: pletorco/kafka:1.1.0-kafka-4.2.0-pletor.1
Kafka Connect
apiVersion: kafka.strimzi.io/v1
kind: KafkaConnect
metadata:
  name: pletor-connect
spec:
  version: 4.2.0
  image: pletorco/kafka:1.1.0-kafka-4.2.0-pletor.1
MirrorMaker 2
apiVersion: kafka.strimzi.io/v1
kind: KafkaMirrorMaker2
metadata:
  name: pletor-mm2
spec:
  version: 4.2.0
  image: pletorco/kafka:1.1.0-kafka-4.2.0-pletor.1

These snippets only demonstrate image selection. Configure listeners, KRaft node pools, storage, bootstrap servers, TLS, authentication, authorization, resources, and replication settings for the target environment.

Metrics configuration

Using the image does not automatically create a Strimzi metrics ConfigMap. Configure metricsConfig in each custom resource and include both Kafka or Connect rules and the Pletor co.pletor.* MBeans.

metricsConfig:
  type: jmxPrometheusExporter
  valueFrom:
    configMapKeyRef:
      name: pletor-kafka-metrics
      key: metrics-config.yml

Kafka Connect and MirrorMaker 2 use Connect metrics rules. Files under /opt/pletor/share/jmx/ are reference configurations; the Operator-managed ConfigMap remains the deployment source of truth.

Scope

Strimzi remains responsible for Kafka and KRaft lifecycle management, listeners, storage, certificates, authentication, authorization, Kubernetes Secrets, and rolling updates.

The image intentionally does not contain:

  • customer-specific configuration or credentials
  • private keys, certificates, or pre-generated certificate authorities
  • customer connector plugins
  • a tiered-storage implementation plugin
  • VM/bare-metal installation scripts or systemd units

Use KafkaConnect.spec.build.plugins or an approved derived image when connector plugins are required. Configure tiered storage through the mechanisms supported by the selected Strimzi and Kafka versions.

Security and build properties

  • The Strimzi base image is pinned by digest during the build.
  • The node metrics agent artifact is verified with SHA-256.
  • The final container runs as UID 1001, following the Strimzi operand image contract.
  • No customer secrets are embedded in the image.
  • Release images are built and pushed from Git tags.

Deployment examples

This repository provides an independent Kustomize entry point for each workload:

WorkloadDirectoryRender command
Kafka + KafkaNodePoolkafka/kubectl kustomize deploy/strimzi/kafka
Kafka Connectkafka-connect/kubectl kustomize deploy/strimzi/kafka-connect
MirrorMaker 2mirror-maker-2/kubectl kustomize deploy/strimzi/mirror-maker-2

The manifests demonstrate image integration and must be reviewed before production use.

Tag summary

Content type

Image

Digest

sha256:fa5d910c9

Size

405.5 MB

Last updated

about 1 month ago

docker pull pletorco/kafka:1.1.0-kafka-4.3.0-pletor.1