Sign inSign up

neowu/kafka

By neowu

Updated over 2 years ago
Archived

kafka image for our own project

Image
0

10K+

neowu/kafka repository overview

Overview

kafka image for our own projects, pls check default values in server.properties, and override by needs, e.g. clustering, partition, retention and etc

docker-compose example

version: "3"
services:
  zookeeper:
    image: zookeeper:3.5.9
    ports:
    - 2181
    environment:
    - JMXDISABLE=true
    - ZOO_DATA_DIR=/data
    - ZOO_DATA_LOG_DIR=/datalog
    - ZOO_ADMINSERVER_ENABLED=false
  kafka:
    image: neowu/kafka:2.8.0
    ports:
    - 9092:9092
    environment:
    - KAFKA_ARGS=--override advertised.listeners=PLAINTEXT://localhost:9092 --override num.partitions=3
    depends_on:
    - zookeeper

Kubernetes example:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: zookeeper
  namespace: dev
spec:
  serviceName: zookeeper
  replicas: 1
  selector:
    matchLabels:
      app: zookeeper
  updateStrategy:
    type: OnDelete
  template:
    metadata:
      labels:
        app: zookeeper
    spec:
      nodeSelector:
        agentpool: app
      containers:
        - name: zookeeper
          image: zookeeper:3.5.9
          env:
            - name: JMXDISABLE
              value: "true"
            - name: SERVER_JVMFLAGS
              value: "-Dzookeeper.jmx.log4j.disable=true"            
            - name: ZOO_DATA_DIR
              value: "/data"
            - name: ZOO_DATA_LOG_DIR
              value: "/datalog"
            - name: ZOO_ADMINSERVER_ENABLED
              value: "false"
            - name: ZOO_AUTOPURGE_PURGEINTERVAL
              value: "24"
          volumeMounts:
            - name: data
              mountPath: /data
            - name: datalog
              mountPath: /datalog
          resources:
            limits:
              memory: 256Mi
  volumeClaimTemplates:
    - metadata:
        name: data
      spec:
        accessModes:
          - ReadWriteOnce
        resources:
          requests:
            storage: 10Gi
    - metadata:
        name: datalog
      spec:
        accessModes:
          - ReadWriteOnce
        resources:
          requests:
            storage: 10Gi
---
apiVersion: v1
kind: Service
metadata:
  name: zookeeper
  namespace: dev
spec:
  clusterIP: None
  ports:
    - port: 2181
  selector:
    app: zookeeper
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: kafka
  namespace: dev
spec:
  serviceName: kafka
  replicas: 1
  selector:
    matchLabels:
      app: kafka
  updateStrategy:
    type: OnDelete
  template:
    metadata:
      labels:
        app: kafka
    spec:
      nodeSelector:
        agentpool: app
      containers:
        - name: kafka
          env:
            # add KAFKA_JMX_OPTS for monitoring if needed
            - name: KAFKA_JMX_OPTS
              value: "-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.rmi.port=1099"
            - name: KAFKA_HEAP_OPTS
              value: "-Xms1G -Xmx1G"
            - name: KAFKA_ARGS
              value: "--override zookeeper.connect=zookeeper-0.zookeeper:2181 --override log.retention.bytes=1000000000 --override log.retention.hours=168 --override num.partitions=16"
          image: neowu/kafka:2.8.0
          volumeMounts:
            - name: data
              mountPath: /data
  volumeClaimTemplates:
    - metadata:
        name: data
      spec:
        accessModes:
          - ReadWriteOnce
        resources:
          requests:
            storage: 100Gi
---
apiVersion: v1
kind: Service
metadata:
  name: kafka
  namespace: dev
spec:
  clusterIP: None
  ports:
    - port: 9092
  selector:
    app: kafka

Tag summary

Content type

Image

Digest

sha256:526d5b7c6

Size

182.5 MB

Last updated

over 2 years ago

docker pull neowu/kafka:3.7.0