diff --git a/README.md b/README.md index 4ebefa45..7da75e24 100644 --- a/README.md +++ b/README.md @@ -52,12 +52,10 @@ Available for: * [Brokers](./outside-services/) -## Fewer than three nodes? +## Minikafka -For [minikube](https://github.com/kubernetes/minikube/), [youkube](https://github.com/Yolean/youkube) etc: - - * [Scale 1](https://github.com/Yolean/kubernetes-kafka/pull/44) - * [Scale 2](https://github.com/Yolean/kubernetes-kafka/pull/118) +There's a single pod setup in [minikafka](./minikafka/). +Contributions for making it as lightweight as possible are very welcome. ## Stream... diff --git a/minikafka/minikafka.yaml b/minikafka/minikafka.yaml new file mode 100644 index 00000000..7db874aa --- /dev/null +++ b/minikafka/minikafka.yaml @@ -0,0 +1,92 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: minizoo +spec: + selector: + app: minizoo + ports: + - port: 9092 + clusterIP: None +--- +apiVersion: v1 +kind: Service +metadata: + name: minikafka +spec: + selector: + app: minikafka + ports: + - port: 9092 + clusterIP: None +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: minizoo +spec: + selector: + matchLabels: + app: minizoo + serviceName: "minizoo" + replicas: 1 + template: + metadata: + labels: + app: minizoo + annotations: + spec: + terminationGracePeriodSeconds: 5 + containers: + - name: zk + image: solsson/kafka:2.1.0@sha256:ac3f06d87d45c7be727863f31e79fbfdcb9c610b51ba9cf03c75a95d602f15e1 + command: + - ./bin/zookeeper-server-start.sh + args: + - ./config/zookeeper.properties +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: minikafka +spec: + selector: + matchLabels: + app: minikafka + serviceName: "minikafka" + replicas: 1 + template: + metadata: + labels: + app: minikafka + annotations: + spec: + terminationGracePeriodSeconds: 5 + containers: + - name: broker + image: solsson/kafka:2.1.0@sha256:ac3f06d87d45c7be727863f31e79fbfdcb9c610b51ba9cf03c75a95d602f15e1 + command: + - ./bin/kafka-server-start.sh + args: + - ./config/server.properties + - --override + - zookeeper.connect=minizoo:2181 + - --override + - background.threads=1 + - --override + - num.io.threads=1 + - --override + - num.network.threads=1 + - --override + - log.cleaner.enable=false + - --override + - group.initial.rebalance.delay.ms=0 + - --override + - listeners=PLAINTEXT://minikafka:9092 + ports: + - containerPort: 9092 + resources: + limits: + cpu: 200m + memory: 400Mi diff --git a/update-kafka-image.sh b/update-kafka-image.sh index 87c2f504..064b8754 100755 --- a/update-kafka-image.sh +++ b/update-kafka-image.sh @@ -5,6 +5,6 @@ IMAGE=$1 [[ $IMAGE != solsson/kafka:* ]] && echo "Should be the full image identifier" && exit 1 -for F in kafka/ kafka/test/ zookeeper/ avro-tools/test/ maintenance/; do +for F in kafka/ kafka/test/ zookeeper/ avro-tools/test/ maintenance/ minikafka/; do sed -i "s|image: solsson/kafka:.*|image: $IMAGE|" $F*.yml done