Skip to content

Commit 066477a

Browse files
committed
Makes static (pre-generated) configuration files possible
Experimental, based on the assumption that things like broker.rack and listener addresses can be set using --overide flags with ev expansion. If we had the statefulset por-ordinal label we could set those things too, but now we need to rely on the pod name (+ for zookeeper ID_OFFSET).
1 parent ffbdaa2 commit 066477a

File tree

5 files changed

+26
-3
lines changed

5 files changed

+26
-3
lines changed

kafka/10broker-config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ data:
4141
}
4242
printf '%s\n' "${SEDS[@]}" | sed -f - /etc/kafka-configmap/server.properties > /etc/kafka/server.properties.tmp
4343
[ $? -eq 0 ] && mv /etc/kafka/server.properties.tmp /etc/kafka/server.properties
44+
ln -s /etc/kafka/server.properties /etc/kafka/server.properties.$POD_NAME
4445
4546
server.properties: |-
4647
############################# Log Basics #############################

kafka/50kafka.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ spec:
4747
- name: broker
4848
image: solsson/kafka:2.4.0@sha256:201a1c7fd378405b6b1bfd801127c8a530ed7a971282bfcee4ec731bc0c50ad2
4949
env:
50+
- name: POD_NAME
51+
valueFrom:
52+
fieldRef:
53+
fieldPath: metadata.name
5054
- name: CLASSPATH
5155
value: /opt/kafka/libs/extensions/*
5256
- name: KAFKA_LOG4J_OPTS
@@ -62,7 +66,7 @@ spec:
6266
containerPort: 5555
6367
command:
6468
- ./bin/kafka-server-start.sh
65-
- /etc/kafka/server.properties
69+
- /etc/kafka/server.properties.$(POD_NAME)
6670
lifecycle:
6771
preStop:
6872
exec:

zookeeper/10zookeeper-config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ data:
2020
for N in $(seq $ZOO_REPLICAS); do echo "server.$(( $PZOO_REPLICAS + $N ))=zoo-$(( $N - 1 )).zoo:2888:3888:participant" >> /etc/kafka/zookeeper.properties; done
2121
}
2222
sed -i "s/server\.$ZOOKEEPER_SERVER_ID\=[a-z0-9.-]*/server.$ZOOKEEPER_SERVER_ID=0.0.0.0/" /etc/kafka/zookeeper.properties
23+
ln -s /etc/kafka/zookeeper.properties /etc/kafka/zookeeper.properties.$POD_NAME
2324
2425
zookeeper.properties: |
2526
4lw.commands.whitelist=ruok

zookeeper/50pzoo.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ spec:
2525
- name: init-config
2626
image: solsson/kafka-initutils@sha256:f6d9850c6c3ad5ecc35e717308fddb47daffbde18eb93e98e031128fe8b899ef
2727
command: ['/bin/bash', '/etc/kafka-configmap/init.sh']
28+
env:
29+
- name: POD_NAME
30+
valueFrom:
31+
fieldRef:
32+
fieldPath: metadata.name
2833
volumeMounts:
2934
- name: configmap
3035
mountPath: /etc/kafka-configmap
@@ -36,11 +41,15 @@ spec:
3641
- name: zookeeper
3742
image: solsson/kafka:2.4.0@sha256:201a1c7fd378405b6b1bfd801127c8a530ed7a971282bfcee4ec731bc0c50ad2
3843
env:
44+
- name: POD_NAME
45+
valueFrom:
46+
fieldRef:
47+
fieldPath: metadata.name
3948
- name: KAFKA_LOG4J_OPTS
4049
value: -Dlog4j.configuration=file:/etc/kafka/log4j.properties
4150
command:
4251
- ./bin/zookeeper-server-start.sh
43-
- /etc/kafka/zookeeper.properties
52+
- /etc/kafka/zookeeper.properties.$(POD_NAME)
4453
lifecycle:
4554
preStop:
4655
exec:

zookeeper/51zoo.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ spec:
2626
image: solsson/kafka-initutils@sha256:f6d9850c6c3ad5ecc35e717308fddb47daffbde18eb93e98e031128fe8b899ef
2727
command: ['/bin/bash', '/etc/kafka-configmap/init.sh']
2828
env:
29+
- name: POD_NAME
30+
valueFrom:
31+
fieldRef:
32+
fieldPath: metadata.name
2933
- name: ID_OFFSET
3034
value: "4"
3135
volumeMounts:
@@ -39,11 +43,15 @@ spec:
3943
- name: zookeeper
4044
image: solsson/kafka:2.4.0@sha256:201a1c7fd378405b6b1bfd801127c8a530ed7a971282bfcee4ec731bc0c50ad2
4145
env:
46+
- name: POD_NAME
47+
valueFrom:
48+
fieldRef:
49+
fieldPath: metadata.name
4250
- name: KAFKA_LOG4J_OPTS
4351
value: -Dlog4j.configuration=file:/etc/kafka/log4j.properties
4452
command:
4553
- ./bin/zookeeper-server-start.sh
46-
- /etc/kafka/zookeeper.properties
54+
- /etc/kafka/zookeeper.properties.$(POD_NAME)
4755
lifecycle:
4856
preStop:
4957
exec:

0 commit comments

Comments
 (0)