kafka2.yaml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: kafka-service
  5. labels:
  6. run: kafka
  7. annotations:
  8. metallb.universe.tf/allow-shared-ip: "kafka"
  9. # namespace: kafka
  10. spec:
  11. ports:
  12. - name: kafka
  13. protocol: TCP
  14. port: 9092
  15. targetPort: 9092
  16. selector:
  17. run: kafka
  18. type: LoadBalancer
  19. loadBalancerIP: 10.42.42.238
  20. externalTrafficPolicy: Local
  21. #---
  22. #apiVersion: v1
  23. #kind: Service
  24. #metadata:
  25. # name: kafka-udp
  26. # labels:
  27. # run: kafka
  28. # annotations:
  29. # metallb.universe.tf/allow-shared-ip: "kafka"
  30. #spec:
  31. # ports:
  32. # - name: dns
  33. # protocol: UDP
  34. # port: 53
  35. # targetPort: 53
  36. # selector:
  37. # run: kafka
  38. # type: LoadBalancer
  39. # loadBalancerIP: 10.42.42.238
  40. # externalTrafficPolicy: Local
  41. ---
  42. apiVersion: v1
  43. kind: PersistentVolume
  44. metadata:
  45. name: kafka
  46. # namespace: kafka
  47. spec:
  48. capacity:
  49. storage: 5Mi
  50. volumeMode: Filesystem
  51. accessModes:
  52. - ReadWriteMany
  53. persistentVolumeReclaimPolicy: Retain # Keep 4eva
  54. storageClassName: default
  55. mountOptions:
  56. - hard
  57. - nfsvers=3
  58. nfs:
  59. path: /mnt/DroboFS/Shares/Kubernetes/volumes/static/kafka
  60. server: 10.42.42.10
  61. claimRef:
  62. name: kafka
  63. # namespace: default
  64. ---
  65. apiVersion: v1
  66. kind: PersistentVolumeClaim
  67. metadata:
  68. name: kafka
  69. annotations:
  70. nfs.io/storage-path: "kafka"
  71. # namespace: kafka
  72. spec:
  73. storageClassName: default
  74. accessModes:
  75. - ReadWriteMany
  76. resources:
  77. requests:
  78. storage: 5Mi
  79. status: {}
  80. ---
  81. apiVersion: apps/v1
  82. kind: Deployment
  83. metadata:
  84. name: kafka
  85. # namespace: kafka
  86. spec:
  87. replicas: 1
  88. selector:
  89. matchLabels:
  90. run: kafka
  91. strategy:
  92. type: Recreate
  93. template:
  94. metadata:
  95. labels:
  96. run: kafka
  97. spec:
  98. terminationGracePeriodSeconds: 30
  99. containers:
  100. - image: ubuntu/kafka:latest
  101. imagePullPolicy: "Always"
  102. name: kafka
  103. env:
  104. - name: TZ
  105. value: US/Michigan
  106. - name: ZOOKEEPER_HOST
  107. value: 10.152.183.45
  108. # Gather from kubectl get services -n kafka
  109. - name: ZOOKEEPER_PORT
  110. value: "2181"
  111. args: ["/etc/kafka/server.properties"]
  112. # args: ["/etc/kafka/server.properties", "--override", "advertised.listeners=PLAINTEXT://kafka-service:9092"]
  113. # args: ["--override", "advertised.listeners=PLAINTEXT://kafka.home.monkeybox.org:9092"]
  114. ports:
  115. - containerPort: 9092
  116. name: kafka
  117. protocol: TCP
  118. resources: {}
  119. volumeMounts:
  120. - mountPath: /kafka
  121. name: kafka
  122. restartPolicy: Always
  123. volumes:
  124. - name: kafka
  125. persistentVolumeClaim:
  126. claimName: kafka
  127. status: {}
  128. #---
  129. ## Hosting
  130. #apiVersion: networking.k8s.io/v1
  131. #kind: Ingress
  132. #metadata:
  133. # name: kafka-management
  134. # annotations:
  135. # #nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
  136. # #nginx.ingress.kubernetes.io/proxy-ssl-verify: "off"
  137. # cert-manager.io/cluster-issuer: "letsencrypt-prod"
  138. #spec:
  139. # tls:
  140. # - hosts:
  141. # - kafka.monkeybox.org
  142. # secretName: kafka-tls
  143. # rules:
  144. # - host: kafka.monkeybox.org
  145. # http:
  146. # paths:
  147. # - path: /
  148. # pathType: Prefix
  149. # backend:
  150. # service:
  151. # name: kafka-service
  152. # port:
  153. # number: 80