From b7e6b6984483409b74ddd90372bf2a78532ba611 Mon Sep 17 00:00:00 2001
From: gifrerenom <lluis.gifre@cttc.es>
Date: Fri, 14 Mar 2025 13:19:40 +0000
Subject: [PATCH] Deployment:

- Corrected deployment of kafka so that it can be deployed multiple times in different namespaces
---
 deploy/kafka.sh                   |  9 +++++----
 manifests/kafka/01-zookeeper.yaml | 10 ++++------
 manifests/kafka/02-kafka.yaml     |  7 +++----
 3 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/deploy/kafka.sh b/deploy/kafka.sh
index e42606903..4f522df1a 100755
--- a/deploy/kafka.sh
+++ b/deploy/kafka.sh
@@ -42,7 +42,7 @@ export KFK_REDEPLOY=${KFK_REDEPLOY:-""}
     mkdir -p ${TMP_MANIFESTS_FOLDER}
 
 function kafka_deploy() {
-     # copy zookeeper and kafka manifest files to temporary manifest location
+    # copy zookeeper and kafka manifest files to temporary manifest location
     cp "${KFK_MANIFESTS_PATH}/${KFK_ZOOKEEPER_MANIFEST}" "${TMP_MANIFESTS_FOLDER}/${KFK_ZOOKEEPER_MANIFEST}"
     cp "${KFK_MANIFESTS_PATH}/${KFK_MANIFEST}" "${TMP_MANIFESTS_FOLDER}/${KFK_MANIFEST}"
 
@@ -57,11 +57,12 @@ function kafka_deploy() {
     # Kafka zookeeper service should be deployed before the kafka service
     kubectl --namespace ${KFK_NAMESPACE} apply -f "${TMP_MANIFESTS_FOLDER}/${KFK_ZOOKEEPER_MANIFEST}"
 
-    KFK_ZOOKEEPER_SERVICE="zookeeper-service"    # this command may be replaced with command to extract service name automatically
-    KFK_ZOOKEEPER_IP=$(kubectl --namespace ${KFK_NAMESPACE} get service ${KFK_ZOOKEEPER_SERVICE} -o 'jsonpath={.spec.clusterIP}')
+    #KFK_ZOOKEEPER_SERVICE="zookeeper-service"    # this command may be replaced with command to extract service name automatically
+    #KFK_ZOOKEEPER_IP=$(kubectl --namespace ${KFK_NAMESPACE} get service ${KFK_ZOOKEEPER_SERVICE} -o 'jsonpath={.spec.clusterIP}')
 
     # Kafka service should be deployed after the zookeeper service
-    sed -i "s/<ZOOKEEPER_INTERNAL_IP>/${KFK_ZOOKEEPER_IP}/" "${TMP_MANIFESTS_FOLDER}/$KFK_MANIFEST"
+    #sed -i "s/<ZOOKEEPER_INTERNAL_IP>/${KFK_ZOOKEEPER_IP}/" "${TMP_MANIFESTS_FOLDER}/$KFK_MANIFEST"
+    sed -i "s/<KAFKA_NAMESPACE>/${KFK_NAMESPACE}/" "${TMP_MANIFESTS_FOLDER}/$KFK_MANIFEST"
 
     # echo ">>> Deploying Apache Kafka Broker"
     kubectl --namespace ${KFK_NAMESPACE} apply -f "${TMP_MANIFESTS_FOLDER}/$KFK_MANIFEST"
diff --git a/manifests/kafka/01-zookeeper.yaml b/manifests/kafka/01-zookeeper.yaml
index c0e87ae0c..f2cfb4f38 100644
--- a/manifests/kafka/01-zookeeper.yaml
+++ b/manifests/kafka/01-zookeeper.yaml
@@ -19,14 +19,13 @@ metadata:
   labels:
     app: zookeeper-service
   name: zookeeper-service
-  namespace: kafka
 spec:
-  type: NodePort
+  type: ClusterIP
   ports:
     - name: zookeeper-port
       port: 2181
-      nodePort: 30181
-      targetPort: 2181
+      #nodePort: 30181
+      #targetPort: 2181
   selector:
     app: zookeeper
 ---
@@ -36,7 +35,6 @@ metadata:
   labels:
     app: zookeeper
   name: zookeeper
-  namespace: kafka
 spec:
   replicas: 1
   selector:
@@ -52,4 +50,4 @@ spec:
           imagePullPolicy: IfNotPresent
           name: zookeeper
           ports:
-            - containerPort: 2181
\ No newline at end of file
+            - containerPort: 2181
diff --git a/manifests/kafka/02-kafka.yaml b/manifests/kafka/02-kafka.yaml
index 8400f5944..066f0151a 100644
--- a/manifests/kafka/02-kafka.yaml
+++ b/manifests/kafka/02-kafka.yaml
@@ -19,7 +19,6 @@ metadata:
   labels:
     app: kafka-broker
   name: kafka-service
-  namespace: kafka
 spec:
   ports:
   - port: 9092
@@ -32,7 +31,6 @@ metadata:
   labels:
     app: kafka-broker
   name: kafka-broker
-  namespace: kafka
 spec:
   replicas: 1
   selector:
@@ -49,11 +47,12 @@ spec:
         - name: KAFKA_BROKER_ID
           value: "1"
         - name: KAFKA_ZOOKEEPER_CONNECT
-          value: <ZOOKEEPER_INTERNAL_IP>:2181
+          #value: <ZOOKEEPER_INTERNAL_IP>:2181
+          value: zookeeper-service.<KAFKA_NAMESPACE>.svc.cluster.local:2181
         - name: KAFKA_LISTENERS
           value: PLAINTEXT://:9092
         - name: KAFKA_ADVERTISED_LISTENERS
-          value: PLAINTEXT://kafka-service.kafka.svc.cluster.local:9092
+          value: PLAINTEXT://kafka-service.<KAFKA_NAMESPACE>.svc.cluster.local:9092
         image: wurstmeister/kafka
         imagePullPolicy: IfNotPresent
         name: kafka-broker
-- 
GitLab