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.

138 lines
3.5 KiB

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