deploy-heketi-template.yml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. ---
  2. kind: Template
  3. apiVersion: v1
  4. metadata:
  5. name: deploy-heketi
  6. labels:
  7. glusterfs: heketi-template
  8. deploy-heketi: support
  9. annotations:
  10. description: Bootstrap Heketi installation
  11. tags: glusterfs,heketi,installation
  12. labels:
  13. template: deploy-heketi
  14. objects:
  15. - kind: Service
  16. apiVersion: v1
  17. metadata:
  18. name: deploy-heketi
  19. labels:
  20. glusterfs: deploy-heketi-service
  21. deploy-heketi: support
  22. annotations:
  23. description: Exposes Heketi service
  24. spec:
  25. ports:
  26. - name: deploy-heketi
  27. port: 8080
  28. targetPort: 8080
  29. selector:
  30. name: deploy-heketi
  31. - kind: Route
  32. apiVersion: v1
  33. metadata:
  34. name: deploy-heketi
  35. labels:
  36. glusterfs: deploy-heketi-route
  37. deploy-heketi: support
  38. spec:
  39. to:
  40. kind: Service
  41. name: deploy-heketi
  42. - kind: DeploymentConfig
  43. apiVersion: v1
  44. metadata:
  45. name: deploy-heketi
  46. labels:
  47. glusterfs: deploy-heketi-dc
  48. deploy-heketi: support
  49. annotations:
  50. description: Defines how to deploy Heketi
  51. spec:
  52. replicas: 1
  53. selector:
  54. name: deploy-heketi
  55. triggers:
  56. - type: ConfigChange
  57. strategy:
  58. type: Recreate
  59. template:
  60. metadata:
  61. name: deploy-heketi
  62. labels:
  63. name: deploy-heketi
  64. glusterfs: deploy-heketi-pod
  65. deploy-heketi: support
  66. spec:
  67. serviceAccountName: heketi-service-account
  68. containers:
  69. - name: deploy-heketi
  70. image: ${IMAGE_NAME}:${IMAGE_VERSION}
  71. env:
  72. - name: HEKETI_USER_KEY
  73. value: ${HEKETI_USER_KEY}
  74. - name: HEKETI_ADMIN_KEY
  75. value: ${HEKETI_ADMIN_KEY}
  76. - name: HEKETI_EXECUTOR
  77. value: kubernetes
  78. - name: HEKETI_FSTAB
  79. value: /var/lib/heketi/fstab
  80. - name: HEKETI_SNAPSHOT_LIMIT
  81. value: '14'
  82. - name: HEKETI_KUBE_GLUSTER_DAEMONSET
  83. value: '1'
  84. ports:
  85. - containerPort: 8080
  86. volumeMounts:
  87. - name: db
  88. mountPath: /var/lib/heketi
  89. readinessProbe:
  90. timeoutSeconds: 3
  91. initialDelaySeconds: 3
  92. httpGet:
  93. path: /hello
  94. port: 8080
  95. livenessProbe:
  96. timeoutSeconds: 3
  97. initialDelaySeconds: 30
  98. httpGet:
  99. path: /hello
  100. port: 8080
  101. volumes:
  102. - name: db
  103. parameters:
  104. - name: HEKETI_USER_KEY
  105. displayName: Heketi User Secret
  106. description: Set secret for those creating volumes as type _user_
  107. - name: HEKETI_ADMIN_KEY
  108. displayName: Heketi Administrator Secret
  109. description: Set secret for administration of the Heketi service as user _admin_
  110. - name: IMAGE_NAME
  111. displayName: GlusterFS container name
  112. required: True
  113. - name: IMAGE_VERSION
  114. displayName: GlusterFS container versiona
  115. required: True