Jelajahi Sumber

脚本部署

yangxg 3 tahun lalu
induk
melakukan
29febaedd2
2 mengubah file dengan 23 tambahan dan 15 penghapusan
  1. 1 1
      Dockerfile-kafka
  2. 22 14
      deploy-tmp-kafka.yaml

+ 1 - 1
Dockerfile-kafka

@@ -1 +1 @@
-FROM docker.io/bitnami/kafka:2.12-2.4.1
+FROM docker.io/bitnami/kafka:2.4.1-debian-10-r58

+ 22 - 14
deploy-tmp-kafka.yaml

@@ -1,4 +1,3 @@
-#部署 Service Headless,用于Kafka间相互通信
 apiVersion: v1
 kind: Service
 metadata:
@@ -16,7 +15,6 @@ spec:
   selector:
     app: kafka
 ---
-#部署 Service,用于外部访问 Kafka
 apiVersion: v1
 kind: Service
 metadata:
@@ -37,7 +35,7 @@ apiVersion: apps/v1
 kind: StatefulSet
 metadata:
   namespace: [ENV]
-  name: "kafka"
+  name: kafka
   labels:
     app: kafka
 spec:
@@ -45,27 +43,37 @@ spec:
     matchLabels:
       app: kafka
   serviceName: kafka-headless
-  podManagementPolicy: "Parallel"
   replicas: 3
   updateStrategy:
-    type: "RollingUpdate"
+      type: RollingUpdate
+  podManagementPolicy: OrderedReady
   template:
     metadata:
-      name: "kafka"
+      name: kafka
       labels:
         app: kafka
-    spec:      
+    spec:
+      affinity:
+        podAntiAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            - labelSelector:
+                matchExpressions:
+                  - key: "app"
+                    operator: In
+                    values:
+                      - kafka
+              topologyKey: "kubernetes.io/hostname"
       initContainers:
         - name: init
           image: hub.evbj.easou.com/dev/busybox
           command: [ "chmod","777","-R","/data" ]
           imagePullPolicy: Always
           volumeMounts:
-            - name: volume
+            - name: data
               mountPath: /data
       containers:
       - name: kafka
-        image: "docker.io/bitnami/kafka:2.12-2.4.1"
+        image: "docker.io/bitnami/kafka:2.4.1-debian-10-r58"
         imagePullPolicy: Always
         resources:
           limits:
@@ -75,22 +83,22 @@ spec:
             cpu: 250m
             memory: 256Mi
         env:
-          - name: MY_POD_IP
+          - name: KAFKA_POD_IP
             valueFrom:
               fieldRef:
                 fieldPath: status.podIP
-          - name: MY_POD_NAME
+          - name: KAFKA_POD_NAME
             valueFrom:
               fieldRef:
                 fieldPath: metadata.name
           - name: KAFKA_CFG_ZOOKEEPER_CONNECT
-            value: "zk-cs.[ENV].svc.cluster.local:2181"                 #Zookeeper Service 名称
+            value: "zk-cs.[ENV].svc.cluster.local:2181"
           - name: KAFKA_PORT_NUMBER
             value: "9093"
           - name: KAFKA_CFG_LISTENERS
             value: "PLAINTEXT://:$(KAFKA_PORT_NUMBER)"
           - name: KAFKA_CFG_ADVERTISED_LISTENERS
-            value: 'PLAINTEXT://$(MY_POD_NAME).kafka-headless:$(KAFKA_PORT_NUMBER)'
+            value: 'PLAINTEXT://$(KAFKA_POD_NAME).kafka-headless:$(KAFKA_PORT_NUMBER)'
           - name: ALLOW_PLAINTEXT_LISTENER
             value: "yes"
           - name: KAFKA_HEAP_OPTS
@@ -125,7 +133,7 @@ spec:
     - metadata:
         name: data
       spec:
-        storageClassName: rbd    #指定为上面创建的 storageclass
+        storageClassName: rbd
         accessModes:
           - "ReadWriteOnce"
         resources: