deploy-tmp-kafka.yaml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: kafka-svc
  5. namespace: [ENV]
  6. labels:
  7. app: kafka
  8. spec:
  9. type: ClusterIP
  10. clusterIP: None
  11. ports:
  12. - name: kafka
  13. port: 9093
  14. targetPort: kafka
  15. selector:
  16. app: kafka
  17. ---
  18. apiVersion: v1
  19. kind: Service
  20. metadata:
  21. name: kafka
  22. namespace: [ENV]
  23. labels:
  24. app: kafka
  25. spec:
  26. type: ClusterIP
  27. ports:
  28. - name: kafka
  29. port: 9093
  30. targetPort: kafka
  31. selector:
  32. app: kafka
  33. ---
  34. apiVersion: apps/v1
  35. kind: StatefulSet
  36. metadata:
  37. namespace: [ENV]
  38. name: kafka
  39. labels:
  40. app: kafka
  41. spec:
  42. selector:
  43. matchLabels:
  44. app: kafka
  45. serviceName: kafka-svc
  46. replicas: 3
  47. updateStrategy:
  48. type: RollingUpdate
  49. podManagementPolicy: OrderedReady
  50. template:
  51. metadata:
  52. name: kafka
  53. labels:
  54. app: kafka
  55. spec:
  56. affinity:
  57. podAntiAffinity:
  58. requiredDuringSchedulingIgnoredDuringExecution:
  59. - labelSelector:
  60. matchExpressions:
  61. - key: "app"
  62. operator: In
  63. values:
  64. - kafka
  65. topologyKey: "kubernetes.io/hostname"
  66. initContainers:
  67. - name: init
  68. image: hub.evbj.easou.com/dev/busybox
  69. command: [ "chmod","777","-R","/data" ]
  70. imagePullPolicy: Always
  71. volumeMounts:
  72. - name: data
  73. mountPath: /data
  74. containers:
  75. - name: kafka
  76. image: "docker.io/bitnami/kafka:2.4.1-debian-10-r58"
  77. imagePullPolicy: Always
  78. resources:
  79. limits:
  80. cpu: 500m
  81. memory: 512Mi
  82. requests:
  83. cpu: 250m
  84. memory: 256Mi
  85. env:
  86. - name: KAFKA_POD_IP
  87. valueFrom:
  88. fieldRef:
  89. fieldPath: status.podIP
  90. - name: KAFKA_POD_NAME
  91. valueFrom:
  92. fieldRef:
  93. fieldPath: metadata.name
  94. - name: KAFKA_CFG_ZOOKEEPER_CONNECT
  95. value: "zk-cs.[ENV].svc.cluster.local:2181"
  96. - name: KAFKA_PORT_NUMBER
  97. value: "9093"
  98. - name: KAFKA_CFG_LISTENERS
  99. value: "PLAINTEXT://:$(KAFKA_PORT_NUMBER)"
  100. - name: KAFKA_CFG_ADVERTISED_LISTENERS
  101. value: 'PLAINTEXT://$(KAFKA_POD_NAME).kafka-svc:$(KAFKA_PORT_NUMBER)'
  102. - name: ALLOW_PLAINTEXT_LISTENER
  103. value: "yes"
  104. - name: KAFKA_HEAP_OPTS
  105. value: "-Xmx512m -Xms512m"
  106. - name: KAFKA_CFG_LOGS_DIRS
  107. value: /data/kafka/data
  108. - name: JMX_PORT
  109. value: "9988"
  110. ports:
  111. - name: kafka
  112. containerPort: 9093
  113. livenessProbe:
  114. tcpSocket:
  115. port: kafka
  116. initialDelaySeconds: 10
  117. periodSeconds: 10
  118. timeoutSeconds: 5
  119. successThreshold: 1
  120. failureThreshold: 2
  121. readinessProbe:
  122. tcpSocket:
  123. port: kafka
  124. initialDelaySeconds: 5
  125. periodSeconds: 10
  126. timeoutSeconds: 5
  127. successThreshold: 1
  128. failureThreshold: 6
  129. volumeMounts:
  130. - name: data
  131. mountPath: /data/kafka
  132. volumeClaimTemplates:
  133. - metadata:
  134. name: data
  135. spec:
  136. storageClassName: rbd
  137. accessModes:
  138. - "ReadWriteOnce"
  139. resources:
  140. requests:
  141. storage: 100Gi