From ce76440a96c5792eb34fb843392f872ad12e0be6 Mon Sep 17 00:00:00 2001 From: Staffan Olsson Date: Sat, 27 Apr 2019 05:34:29 +0200 Subject: [PATCH 1/4] Fixes a typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ce2009dc..f080d8c8 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ and though they still seem to work you can get around that with a v1.14+ kubectl ### Maintaining your own kustomization -`kubectl apply -k` takes a siungle overlay, meaning that you can't compose different overlays from this repo. +`kubectl apply -k` takes a single overlay, meaning that you can't compose different overlays from this repo. You'll probably want to maintain your own variant. One option is to keep kubernets-kafka as a git submodule and edit the relative path from an example variant. From df4ff3b35d86055b7f0b1c32dbd99d479035c74c Mon Sep 17 00:00:00 2001 From: Staffan Olsson Date: Sat, 27 Apr 2019 05:47:31 +0200 Subject: [PATCH 2/4] Pretty good CI stack: kubectl apply -k variants/scale-1-ephemeral/ --- variants/scale-1-ephemeral/kafka.yaml | 13 +++++ variants/scale-1-ephemeral/kustomization.yaml | 6 +++ variants/scale-1-ephemeral/zookeeper.yaml | 47 +++++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 variants/scale-1-ephemeral/kafka.yaml create mode 100644 variants/scale-1-ephemeral/kustomization.yaml create mode 100644 variants/scale-1-ephemeral/zookeeper.yaml diff --git a/variants/scale-1-ephemeral/kafka.yaml b/variants/scale-1-ephemeral/kafka.yaml new file mode 100644 index 00000000..4a6ac3e5 --- /dev/null +++ b/variants/scale-1-ephemeral/kafka.yaml @@ -0,0 +1,13 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: kafka + namespace: kafka +spec: + replicas: 1 + template: + spec: + volumes: + - name: data + emptyDir: {} + volumeClaimTemplates: [] diff --git a/variants/scale-1-ephemeral/kustomization.yaml b/variants/scale-1-ephemeral/kustomization.yaml new file mode 100644 index 00000000..2cc065d5 --- /dev/null +++ b/variants/scale-1-ephemeral/kustomization.yaml @@ -0,0 +1,6 @@ +bases: +- ../../kafka +- ../../zookeeper +patchesStrategicMerge: +- kafka.yaml +- zookeeper.yaml diff --git a/variants/scale-1-ephemeral/zookeeper.yaml b/variants/scale-1-ephemeral/zookeeper.yaml new file mode 100644 index 00000000..e78334f5 --- /dev/null +++ b/variants/scale-1-ephemeral/zookeeper.yaml @@ -0,0 +1,47 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: pzoo + namespace: kafka +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: pzoo + namespace: kafka +spec: + replicas: 1 + template: + spec: + initContainers: + - name: init-config + env: + - name: PZOO_REPLICAS + value: '1' + - name: ZOO_REPLICAS + value: '0' + volumes: + - name: data + emptyDir: {} + volumeClaimTemplates: [] +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: zoo + namespace: kafka +spec: + replicas: 0 + template: + spec: + initContainers: + - name: init-config + env: + # There's no validation on these numbers adding up to a coherent zk config, so watch out + - name: PZOO_REPLICAS + value: '1' + - name: ZOO_REPLICAS + value: '0' + - name: ID_OFFSET + value: '2' From f728b984766982e580c10dfe508634f365ad6676 Mon Sep 17 00:00:00 2001 From: Staffan Olsson Date: Sat, 27 Apr 2019 20:06:01 +0200 Subject: [PATCH 3/4] Fixes produce error for scale-1 kustomization --- variants/scale-1-ephemeral/kafka-scale1-overrides.json | 6 ++++++ variants/scale-1-ephemeral/kustomization.yaml | 7 +++++++ 2 files changed, 13 insertions(+) create mode 100644 variants/scale-1-ephemeral/kafka-scale1-overrides.json diff --git a/variants/scale-1-ephemeral/kafka-scale1-overrides.json b/variants/scale-1-ephemeral/kafka-scale1-overrides.json new file mode 100644 index 00000000..14e41745 --- /dev/null +++ b/variants/scale-1-ephemeral/kafka-scale1-overrides.json @@ -0,0 +1,6 @@ +[ + {"op": "add", "path": "/spec/template/spec/containers/0/command/-", "value": "--override"}, + {"op": "add", "path": "/spec/template/spec/containers/0/command/-", "value": "default.replication.factor=1"}, + {"op": "add", "path": "/spec/template/spec/containers/0/command/-", "value": "--override"}, + {"op": "add", "path": "/spec/template/spec/containers/0/command/-", "value": "min.insync.replicas=1"} +] \ No newline at end of file diff --git a/variants/scale-1-ephemeral/kustomization.yaml b/variants/scale-1-ephemeral/kustomization.yaml index 2cc065d5..9ecd5b7c 100644 --- a/variants/scale-1-ephemeral/kustomization.yaml +++ b/variants/scale-1-ephemeral/kustomization.yaml @@ -4,3 +4,10 @@ bases: patchesStrategicMerge: - kafka.yaml - zookeeper.yaml +patchesJson6902: +- target: + group: apps + version: v1 + kind: StatefulSet + name: kafka + path: kafka-scale1-overrides.json From 870435adf928bb9d40a227e8922b3525758acaf8 Mon Sep 17 00:00:00 2001 From: Staffan Olsson Date: Sat, 27 Apr 2019 20:07:44 +0200 Subject: [PATCH 4/4] There'll be lots of duplication among variants because only files within kustomization.yaml's dir can be included --- variants/scale-1/kafka-scale1-overrides.json | 6 ++++++ variants/scale-1/kustomization.yaml | 7 +++++++ 2 files changed, 13 insertions(+) create mode 100644 variants/scale-1/kafka-scale1-overrides.json diff --git a/variants/scale-1/kafka-scale1-overrides.json b/variants/scale-1/kafka-scale1-overrides.json new file mode 100644 index 00000000..14e41745 --- /dev/null +++ b/variants/scale-1/kafka-scale1-overrides.json @@ -0,0 +1,6 @@ +[ + {"op": "add", "path": "/spec/template/spec/containers/0/command/-", "value": "--override"}, + {"op": "add", "path": "/spec/template/spec/containers/0/command/-", "value": "default.replication.factor=1"}, + {"op": "add", "path": "/spec/template/spec/containers/0/command/-", "value": "--override"}, + {"op": "add", "path": "/spec/template/spec/containers/0/command/-", "value": "min.insync.replicas=1"} +] \ No newline at end of file diff --git a/variants/scale-1/kustomization.yaml b/variants/scale-1/kustomization.yaml index 2cc065d5..9ecd5b7c 100644 --- a/variants/scale-1/kustomization.yaml +++ b/variants/scale-1/kustomization.yaml @@ -4,3 +4,10 @@ bases: patchesStrategicMerge: - kafka.yaml - zookeeper.yaml +patchesJson6902: +- target: + group: apps + version: v1 + kind: StatefulSet + name: kafka + path: kafka-scale1-overrides.json