Categorygithub.com/DoodleScheduling/k8skafka-controller

# README

k8skafka-controller

release release report Coverage Status license

Kubernetes controller that can manage Kafka Topics.

Controller assumes you already have a working Kafka installation. How Kafka brokers are actually managed is outside of the scope of this project for the moment.

Features

Supported

  • creating topics
  • creating additional partitions for existing topics

Not currently supported

  • deleting topics, garbage collection
  • deleting partitions
  • changing replication factor for existing topics and partitions

Known issues

  • partition assigning can in some cases lead to leader being skewed

Example KafkaTopic

A KafkaTopic represents one Kafka Topic.

apiVersion: kafka.infra.doodle.com/v1beta1
kind: KafkaTopic
metadata:
  name: test-topic
spec:
  address: "kafka:9092"
  name: "test-topic"
  partitions: 16
  replicationFactor: 1
  config:
    cleanupPolicy: compact
    deleteRetentionsMs: 31556952000

Helm chart

Please see chart/k8skafka-controller for the helm chart docs.

Configure the controller

You may change base settings for the controller using env variables (or alternatively command line arguments). Available env variables:

NameDescriptionDefault
METRICS_ADDRThe address of the metric endpoint binds to.:9556
PROBE_ADDRThe address of the probe endpoints binds to.:9557
ENABLE_LEADER_ELECTIONEnable leader election for controller manager.false
LEADER_ELECTION_NAMESPACEChange the leader election namespace. This is by default the same where the controller is deployed.``
NAMESPACESThe controller listens by default for all namespaces. This may be limited to a comma delimited list of dedicated namespaces.``
CONCURRENTThe number of concurrent reconcile workers.4

# Packages

No description provided by the author
No description provided by the author
No description provided by the author