apiVersion: v1 kind: Service metadata: name: kafka-service namespace: kafka labels: app: kafka spec: ports: - port: 9092 selector: app: kafka --- apiVersion: apps/v1 kind: Deployment metadata: name: kafka-deployment namespace: kafka spec: replicas: 1 selector: matchLabels: app: kafka template: metadata: labels: app: kafka spec: containers: - name: kafka image: ubuntu/kafka:edge env: - name: ZOOKEEPER_HOST value: zookeeper-service - name: KAFKA_OPTS value: "-Ddelete.topic.enable=true" args: ["/etc/kafka/server.properties", "--override", "advertised.listeners=PLAINTEXT://kafka-service:9092"] ports: - containerPort: 9092 name: kafka protocol: TCP volumeMounts: - mountPath: /tmp/kafka-logs name: kafka subPath: data - mountPath: /etc/kafka/server.properties name: kafka subPath: conf/server.properties volumes: - name: kafka persistentVolumeClaim: claimName: kafka-pvc --- apiVersion: apps/v1 kind: Deployment metadata: name: kafka-ui namespace: kafka labels: app: kafka-ui spec: replicas: 1 selector: matchLabels: app: kafka-ui template: metadata: labels: app: kafka-ui spec: containers: - name: kafka-ui image: provectuslabs/kafka-ui ports: - containerPort: 8080 env: - name: KAFKA_CLUSTERS_0_NAME value: "kafka-service" - name: KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS value: "kafka-service:9092" --- apiVersion: v1 kind: Service metadata: name: kafka-ui namespace: kafka labels: name: kafka-ui spec: type: NodePort ports: - port: 8080 nodePort: 31890 name: http selector: app: kafka-ui --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: kafka-ui-tls-allarddcs namespace: kafka spec: entryPoints: - websecure routes: - match: Host(`kafka-prod.allarddcs.nl`) kind: Rule services: - name: kafka-ui port: 8080 tls: certResolver: letsencrypt --- apiVersion: v1 kind: PersistentVolume metadata: name: kafka-pv spec: storageClassName: "" capacity: storage: 1Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain mountOptions: - hard - nfsvers=4.1 nfs: server: 192.168.2.111 path: /mnt/nfs_share/prod/kafka readOnly: false --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: kafka-pvc namespace: kafka spec: storageClassName: "" volumeName: kafka-pv accessModes: - ReadWriteMany volumeMode: Filesystem resources: requests: storage: 1Gi