deploy-tmp-kafka-old.yaml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: kafka-svc
  5. namespace: qa
  6. labels:
  7. app: kafka
  8. spec:
  9. ports:
  10. - port: 9093
  11. name: server
  12. clusterIP: None #创建无头服务,如果需要对外暴露端口可自行创建service
  13. selector:
  14. app: kafka
  15. ---
  16. apiVersion: policy/v1beta1
  17. kind: PodDisruptionBudget
  18. metadata:
  19. name: kafka-pdb
  20. namespace: qa
  21. spec:
  22. selector:
  23. matchLabels:
  24. app: kafka
  25. minAvailable: 2
  26. ---
  27. apiVersion: apps/v1
  28. kind: StatefulSet
  29. metadata:
  30. name: kafka
  31. namespace: qa
  32. spec:
  33. selector:
  34. matchLabels:
  35. app: kafka
  36. serviceName: kafka-svc
  37. replicas: 3
  38. template:
  39. metadata:
  40. labels:
  41. app: kafka
  42. spec:
  43. affinity:
  44. podAntiAffinity:
  45. requiredDuringSchedulingIgnoredDuringExecution:
  46. - labelSelector:
  47. matchExpressions:
  48. - key: "app"
  49. operator: In
  50. values:
  51. - kafka
  52. topologyKey: "kubernetes.io/hostname"
  53. podAffinity:
  54. preferredDuringSchedulingIgnoredDuringExecution:
  55. - weight: 1
  56. podAffinityTerm:
  57. labelSelector:
  58. matchExpressions:
  59. - key: "app"
  60. operator: In
  61. values:
  62. - zk
  63. topologyKey: "kubernetes.io/hostname"
  64. terminationGracePeriodSeconds: 300
  65. containers:
  66. - name: k8skafka
  67. imagePullPolicy: Always
  68. image: hub.evbj.easou.com/qa/kubernetes-kafka:1.0-10.2.1 #可自行去阿里云拉去对应镜像
  69. resources:
  70. requests:
  71. memory: "1Gi"
  72. cpu: "1000m"
  73. limits:
  74. memory: "1Gi"
  75. cpu: "1000m"
  76. ports:
  77. - containerPort: 9093
  78. name: server
  79. command:
  80. - sh
  81. - -c
  82. - "exec kafka-server-start.sh /opt/kafka/config/server.properties --override broker.id=${HOSTNAME##*-} \
  83. --override listeners=PLAINTEXT://:9093 \
  84. --override zookeeper.connect=zk-cs.qa.svc.cluster.local:2181 \ #这里配置了与zookeeper进行连接,非常重要。格式为:pod名.zookeeper的service名.名称空间.svc.cluster.local:2181
  85. --override log.dir=/var/lib/kafka "
  86. env:
  87. - name: KAFKA_HEAP_OPTS
  88. value: "-Xmx512M -Xms512M"
  89. - name: KAFKA_OPTS
  90. value: "-Dlogging.level=INFO"
  91. volumeMounts:
  92. - name: volume
  93. mountPath: /data/kafka
  94. readinessProbe:
  95. tcpSocket:
  96. port: 9093
  97. timeoutSeconds: 2
  98. securityContext:
  99. runAsUser: 1000
  100. fsGroup: 1000
  101. volumeClaimTemplates:
  102. - metadata:
  103. name: volume
  104. spec:
  105. accessModes: [ "ReadWriteOnce" ]
  106. storageClassName: rbd
  107. resources:
  108. requests:
  109. storage: 100Gi