You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

164 lines
4.1 KiB

  1. {
  2. "kind": "List",
  3. "apiVersion": "v1",
  4. "items": [
  5. {
  6. "kind": "Secret",
  7. "apiVersion": "v1",
  8. "metadata": {
  9. "name": "heketi-db-backup",
  10. "labels": {
  11. "glusterfs": "heketi-db",
  12. "heketi": "db"
  13. }
  14. },
  15. "data": {
  16. },
  17. "type": "Opaque"
  18. },
  19. {
  20. "kind": "Service",
  21. "apiVersion": "v1",
  22. "metadata": {
  23. "name": "heketi",
  24. "labels": {
  25. "glusterfs": "heketi-service",
  26. "deploy-heketi": "support"
  27. },
  28. "annotations": {
  29. "description": "Exposes Heketi Service"
  30. }
  31. },
  32. "spec": {
  33. "selector": {
  34. "name": "heketi"
  35. },
  36. "ports": [
  37. {
  38. "name": "heketi",
  39. "port": 8080,
  40. "targetPort": 8080
  41. }
  42. ]
  43. }
  44. },
  45. {
  46. "kind": "Deployment",
  47. "apiVersion": "apps/v1",
  48. "metadata": {
  49. "name": "heketi",
  50. "labels": {
  51. "glusterfs": "heketi-deployment"
  52. },
  53. "annotations": {
  54. "description": "Defines how to deploy Heketi"
  55. }
  56. },
  57. "spec": {
  58. "selector": {
  59. "matchLabels": {
  60. "name": "heketi"
  61. }
  62. },
  63. "replicas": 1,
  64. "template": {
  65. "metadata": {
  66. "name": "heketi",
  67. "labels": {
  68. "name": "heketi",
  69. "glusterfs": "heketi-pod"
  70. }
  71. },
  72. "spec": {
  73. "serviceAccountName": "heketi-service-account",
  74. "containers": [
  75. {
  76. "image": "heketi/heketi:9",
  77. "imagePullPolicy": "Always",
  78. "name": "heketi",
  79. "env": [
  80. {
  81. "name": "HEKETI_EXECUTOR",
  82. "value": "kubernetes"
  83. },
  84. {
  85. "name": "HEKETI_DB_PATH",
  86. "value": "/var/lib/heketi/heketi.db"
  87. },
  88. {
  89. "name": "HEKETI_FSTAB",
  90. "value": "/var/lib/heketi/fstab"
  91. },
  92. {
  93. "name": "HEKETI_SNAPSHOT_LIMIT",
  94. "value": "14"
  95. },
  96. {
  97. "name": "HEKETI_KUBE_GLUSTER_DAEMONSET",
  98. "value": "y"
  99. }
  100. ],
  101. "ports": [
  102. {
  103. "containerPort": 8080
  104. }
  105. ],
  106. "volumeMounts": [
  107. {
  108. "mountPath": "/backupdb",
  109. "name": "heketi-db-secret"
  110. },
  111. {
  112. "name": "db",
  113. "mountPath": "/var/lib/heketi"
  114. },
  115. {
  116. "name": "config",
  117. "mountPath": "/etc/heketi"
  118. }
  119. ],
  120. "readinessProbe": {
  121. "timeoutSeconds": 3,
  122. "initialDelaySeconds": 3,
  123. "httpGet": {
  124. "path": "/hello",
  125. "port": 8080
  126. }
  127. },
  128. "livenessProbe": {
  129. "timeoutSeconds": 3,
  130. "initialDelaySeconds": 10,
  131. "httpGet": {
  132. "path": "/hello",
  133. "port": 8080
  134. }
  135. }
  136. }
  137. ],
  138. "volumes": [
  139. {
  140. "name": "db",
  141. "glusterfs": {
  142. "endpoints": "heketi-storage-endpoints",
  143. "path": "heketidbstorage"
  144. }
  145. },
  146. {
  147. "name": "heketi-db-secret",
  148. "secret": {
  149. "secretName": "heketi-db-backup"
  150. }
  151. },
  152. {
  153. "name": "config",
  154. "secret": {
  155. "secretName": "heketi-config-secret"
  156. }
  157. }
  158. ]
  159. }
  160. }
  161. }
  162. }
  163. ]
  164. }