statefulset.yaml 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. apiVersion: apps/v1
  2. kind: StatefulSet
  3. metadata:
  4. name: zoo
  5. spec:
  6. serviceName: "zk"
  7. replicas: 3
  8. selector:
  9. matchLabels:
  10. app: zk
  11. template:
  12. metadata:
  13. labels:
  14. app: zk
  15. spec:
  16. initContainers:
  17. - name: install
  18. image: gcr.io/kubernetes-e2e-test-images/pets/zookeeper-installer:1.3
  19. imagePullPolicy: Always
  20. args:
  21. - "--install-into=/opt"
  22. - "--work-dir=/work-dir"
  23. volumeMounts:
  24. - name: opt
  25. mountPath: "/opt/"
  26. - name: workdir
  27. mountPath: "/work-dir"
  28. - name: bootstrap
  29. image: java:openjdk-8-jre
  30. command:
  31. - "/work-dir/peer-finder"
  32. args:
  33. - -on-start="/work-dir/on-start.sh"
  34. - "-service=zk"
  35. env:
  36. - name: POD_NAMESPACE
  37. valueFrom:
  38. fieldRef:
  39. apiVersion: v1
  40. fieldPath: metadata.namespace
  41. volumeMounts:
  42. - name: opt
  43. mountPath: "/opt"
  44. - name: workdir
  45. mountPath: "/work-dir"
  46. - name: datadir
  47. mountPath: "/tmp/zookeeper"
  48. containers:
  49. - name: zk
  50. image: openjdk:8-jre
  51. ports:
  52. - containerPort: 2888
  53. name: peer
  54. - containerPort: 3888
  55. name: leader-election
  56. command:
  57. - /opt/zookeeper/bin/zkServer.sh
  58. args:
  59. - start-foreground
  60. readinessProbe:
  61. exec:
  62. command:
  63. - sh
  64. - -c
  65. - "/opt/zookeeper/bin/zkCli.sh ls /"
  66. initialDelaySeconds: 15
  67. timeoutSeconds: 5
  68. volumeMounts:
  69. - name: datadir
  70. mountPath: /tmp/zookeeper
  71. - name: opt
  72. mountPath: /opt
  73. # Mount the work-dir just for debugging
  74. - name: workdir
  75. mountPath: /work-dir
  76. volumes:
  77. - name: opt
  78. emptyDir: {}
  79. - name: workdir
  80. emptyDir: {}
  81. volumeClaimTemplates:
  82. - metadata:
  83. name: datadir
  84. spec:
  85. accessModes: [ "ReadWriteOnce" ]
  86. resources:
  87. requests:
  88. storage: 1Gi