deploy-tmp-kafka.yaml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. #部署 Service Headless,用于Kafka间相互通信
  2. apiVersion: v1
  3. kind: Service
  4. metadata:
  5. name: kafka-headless
  6. namespace: [ENV]
  7. labels:
  8. app: kafka
  9. spec:
  10. type: ClusterIP
  11. clusterIP: None
  12. ports:
  13. - name: kafka
  14. port: 9093
  15. targetPort: kafka
  16. selector:
  17. app: kafka
  18. ---
  19. #部署 Service,用于外部访问 Kafka
  20. apiVersion: v1
  21. kind: Service
  22. metadata:
  23. name: kafka
  24. namespace: [ENV]
  25. labels:
  26. app: kafka
  27. spec:
  28. type: ClusterIP
  29. ports:
  30. - name: kafka
  31. port: 9093
  32. targetPort: kafka
  33. selector:
  34. app: kafka
  35. ---
  36. apiVersion: apps/v1
  37. kind: StatefulSet
  38. metadata:
  39. namespace: [ENV]
  40. name: "kafka"
  41. labels:
  42. app: kafka
  43. spec:
  44. selector:
  45. matchLabels:
  46. app: kafka
  47. serviceName: kafka-headless
  48. podManagementPolicy: "Parallel"
  49. replicas: 3
  50. updateStrategy:
  51. type: "RollingUpdate"
  52. template:
  53. metadata:
  54. name: "kafka"
  55. labels:
  56. app: kafka
  57. spec:
  58. securityContext:
  59. fsGroup: 1001
  60. runAsUser: 1001
  61. containers:
  62. - name: kafka
  63. image: "docker.io/bitnami/kafka:2.3.0-debian-9-r4"
  64. imagePullPolicy: "IfNotPresent"
  65. resources:
  66. limits:
  67. cpu: 500m
  68. memory: 512Mi
  69. requests:
  70. cpu: 250m
  71. memory: 256Mi
  72. env:
  73. - name: MY_POD_IP
  74. valueFrom:
  75. fieldRef:
  76. fieldPath: status.podIP
  77. - name: MY_POD_NAME
  78. valueFrom:
  79. fieldRef:
  80. fieldPath: metadata.name
  81. - name: KAFKA_CFG_ZOOKEEPER_CONNECT
  82. value: "zk-cs.[ENV].svc.cluster.local:2181" #Zookeeper Service 名称
  83. - name: KAFKA_PORT_NUMBER
  84. value: "9093"
  85. - name: KAFKA_CFG_LISTENERS
  86. value: "PLAINTEXT://:$(KAFKA_PORT_NUMBER)"
  87. - name: KAFKA_CFG_ADVERTISED_LISTENERS
  88. value: 'PLAINTEXT://$(MY_POD_NAME).kafka-headless:$(KAFKA_PORT_NUMBER)'
  89. - name: ALLOW_PLAINTEXT_LISTENER
  90. value: "yes"
  91. - name: KAFKA_HEAP_OPTS
  92. value: "-Xmx512m -Xms512m"
  93. - name: KAFKA_CFG_LOGS_DIRS
  94. value: /data/kafka/data
  95. - name: JMX_PORT
  96. value: "9988"
  97. ports:
  98. - name: kafka
  99. containerPort: 9093
  100. livenessProbe:
  101. tcpSocket:
  102. port: kafka
  103. initialDelaySeconds: 10
  104. periodSeconds: 10
  105. timeoutSeconds: 5
  106. successThreshold: 1
  107. failureThreshold: 2
  108. readinessProbe:
  109. tcpSocket:
  110. port: kafka
  111. initialDelaySeconds: 5
  112. periodSeconds: 10
  113. timeoutSeconds: 5
  114. successThreshold: 1
  115. failureThreshold: 6
  116. volumeMounts:
  117. - name: data
  118. mountPath: /data/kafka
  119. volumeClaimTemplates:
  120. - metadata:
  121. name: data
  122. spec:
  123. storageClassName: rbd #指定为上面创建的 storageclass
  124. accessModes:
  125. - "ReadWriteOnce"
  126. resources:
  127. requests:
  128. storage: 100Gi