kubernetes-kafka

Kafka cluster as Kubernetes StatefulSet, plain manifests and config

  • 所有者: Yolean/kubernetes-kafka
  • 平台:
  • 許可證: Apache License 2.0
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

Kafka for Kubernetes

This community seeks to provide:

  • Production-worthy Kafka setup for persistent (domain- and ops-) data at small scale.
  • Operational knowledge, biased towards resilience over throughput, as Kubernetes manifest.
  • A platform for event-driven (streaming!) microservices design using Kubernetes.

To quote @arthurk:

thanks for creating and maintaining this Kubernetes files, they're up-to-date (unlike the kubernetes contrib files, don't require helm and work great!

Getting started

We suggest you apply -f manifests in the following order:

That'll give you client "bootstrap" bootstrap.kafka.svc.cluster.local:9092.

Fork

Our only dependency is kubectl. Not because we dislike Helm or Operators, but because we think plain manifests make it easier to collaborate.
If you begin to rely on this kafka setup we recommend you fork, for example to edit broker config.

Kustomize

With the introduction of app customization in kubectl 1.14 there's an alternative to forks. We as a community can maintain a set of overlays.

See the variants folder for different overlays. For example to scale to 1 kafka broker try kubectl apply -k variants/scale-1/.
Variants also include examples of how to configure volumes for GKE, AWS and AKS with different storage classes.

Quickstart

kubectl create namespace kafka && \
kubectl apply -k github.com/Yolean/kubernetes-kafka/variants/dev-small/?ref=v6.0.3

When all pods are Ready, test with for example kafkacat -b localhost:9094 -L over kubectl -n kafka port-forward kafka-0 9094.

Maintaining your own kustomization

Start your variant as a new folder in your choice of version control, with a base kustomization.yaml pointing to a tag or revision in this repository:

bases:
- github.com/Yolean/kubernetes-kafka/rbac-namespace-default/?ref=60d01b5
- github.com/Yolean/kubernetes-kafka/kafka/?ref=60d01b5
- github.com/Yolean/kubernetes-kafka/zookeeper/?ref=60d01b5

Then pick and chose from patches our example variants to tailor your Kafka setup.

Version history, tag, k8s ≥, highlights, ------, -----, -----------, TBD, 1.13+, Kafka 2.4.0 + standard storage class, v6.0.0, 1.11+, Kafka 2.2.0 + apply -k (kubectl 1.14+) + #270, v5.1.0, 1.11+, Kafka 2.1.1, v5.0.3, 1.11+, Zookeeper fix #227 + maxClientCnxns=1, v5.0, 1.11+, Destabilize because in Docker we want Java 11 #197 #191, v4.3.1, 1.9+, Critical Zookeeper persistence fix #228, v4.3, 1.9+, Adds a proper shutdown hook #207, v4.2, 1.9+, Kafka 1.0.2 and tools upgrade, ... see releases for full history ..., v1.0, 1, Stateful? In Kubernetes? In 2016? Yes., ## Monitoring

Have a look at:

Outside (out-of-cluster) access

Available for:

Stream...

主要指標

概覽
名稱與所有者Yolean/kubernetes-kafka
主編程語言Shell
編程語言Shell (語言數: 1)
平台
許可證Apache License 2.0
所有者活动
創建於2016-09-05 06:58:56
推送於2024-05-29 05:58:21
最后一次提交2024-05-29 07:58:15
發布數22
最新版本名稱v6.0.4 (發布於 )
第一版名稱v1.0.0 (發布於 )
用户参与
星數1.8k
關注者數60
派生數730
提交數810
已啟用問題?
問題數183
打開的問題數60
拉請求數111
打開的拉請求數22
關閉的拉請求數38
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?