deploy-tmp-zookeeper.yaml 3.1 KB

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