deploy-tmp-zookeeper.yaml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. ---
  2. apiVersion: apps/v1
  3. kind: StatefulSet
  4. metadata:
  5. name: zookeeper
  6. namespace: qa
  7. spec:
  8. selector:
  9. matchLabels:
  10. app: zookeeper
  11. serviceName: zookeeper-hs
  12. replicas: 3
  13. updateStrategy:
  14. type: RollingUpdate
  15. podManagementPolicy: OrderedReady
  16. template:
  17. metadata:
  18. labels:
  19. app: zookeeper
  20. spec:
  21. terminationGracePeriodSeconds: 180
  22. affinity:
  23. podAntiAffinity:
  24. requiredDuringSchedulingIgnoredDuringExecution:
  25. - labelSelector:
  26. matchExpressions:
  27. - key: "app"
  28. operator: In
  29. values:
  30. - zookeeper
  31. topologyKey: "kubernetes.io/hostname"
  32. containers:
  33. - name: kubernetes-zookeeper
  34. imagePullPolicy: Always
  35. image: "leolee32/kubernetes-library:kubernetes-zookeeper1.0-3.4.10"
  36. resources:
  37. requests:
  38. memory: "1Gi"
  39. cpu: "0.5"
  40. ports:
  41. - containerPort: 2181
  42. name: client
  43. - containerPort: 2888
  44. name: server
  45. - containerPort: 3888
  46. name: leader-election
  47. command:
  48. - sh
  49. - -c
  50. - "start-zookeeper \
  51. --servers=3 \
  52. --data_dir=/data/zookeeper \
  53. --data_log_dir=/data/zookeeper/log \
  54. --conf_dir=/opt/zookeeper/conf \
  55. --client_port=2181 \
  56. --election_port=3888 \
  57. --server_port=2888 \
  58. --tick_time=2000 \
  59. --init_limit=10 \
  60. --sync_limit=5 \
  61. --heap=512M \
  62. --max_client_cnxns=60 \
  63. --snap_retain_count=3 \
  64. --purge_interval=12 \
  65. --max_session_timeout=40000 \
  66. --min_session_timeout=4000 \
  67. --log_level=INFO"
  68. readinessProbe:
  69. exec:
  70. command:
  71. - sh
  72. - -c
  73. - "zookeeper-ready 2181"
  74. initialDelaySeconds: 10
  75. timeoutSeconds: 5
  76. livenessProbe:
  77. exec:
  78. command:
  79. - sh
  80. - -c
  81. - "zookeeper-ready 2181"
  82. initialDelaySeconds: 10
  83. timeoutSeconds: 5
  84. volumeMounts:
  85. - name: volume
  86. mountPath: /data/zookeeper
  87. securityContext:
  88. runAsUser: 1000
  89. fsGroup: 1000
  90. volumeClaimTemplates:
  91. - metadata:
  92. name: volume
  93. annotations:
  94. volume.alpha.kubernetes.io/storage-class: anything
  95. spec:
  96. accessModes: [ "ReadWriteOnce" ]
  97. storageClassName: rbd
  98. resources:
  99. requests:
  100. storage: 5Gi
  101. ---
  102. apiVersion: v1
  103. kind: Service
  104. metadata:
  105. name: zookeeper-hs
  106. namespace: qa
  107. labels:
  108. app: zookeeper
  109. spec:
  110. ports:
  111. - port: 2888
  112. name: server
  113. - port: 3888
  114. name: leader-election
  115. clusterIP: None
  116. selector:
  117. app: zookeeper
  118. ---
  119. apiVersion: v1
  120. kind: Service
  121. metadata:
  122. name: zookeeper-cs
  123. namespace: qa
  124. labels:
  125. app: zookeeper
  126. spec:
  127. type: NodePort
  128. ports:
  129. - port: 2181
  130. name: client
  131. nodePort: 31812
  132. selector:
  133. app: zookeeper
  134. ---
  135. apiVersion: policy/v1beta1
  136. kind: PodDisruptionBudget
  137. metadata:
  138. name: zookeeper-pdb
  139. namespace: qa
  140. spec:
  141. selector:
  142. matchLabels:
  143. app: zookeeper
  144. maxUnavailable: 1