123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- ---
- kind: Template
- apiVersion: v1
- metadata:
- name: heketi
- labels:
- glusterfs: heketi-template
- annotations:
- description: Heketi service deployment template
- tags: glusterfs,heketi
- objects:
- - kind: Service
- apiVersion: v1
- metadata:
- name: heketi-${CLUSTER_NAME}
- labels:
- glusterfs: heketi-${CLUSTER_NAME}-service
- heketi: ${CLUSTER_NAME}-service
- annotations:
- description: Exposes Heketi service
- spec:
- ports:
- - name: heketi
- port: 8080
- targetPort: 8080
- selector:
- glusterfs: heketi-${CLUSTER_NAME}-pod
- - kind: Route
- apiVersion: v1
- metadata:
- name: ${HEKETI_ROUTE}
- labels:
- glusterfs: heketi-${CLUSTER_NAME}-route
- heketi: ${CLUSTER_NAME}-route
- spec:
- to:
- kind: Service
- name: heketi-${CLUSTER_NAME}
- - kind: DeploymentConfig
- apiVersion: v1
- metadata:
- name: heketi-${CLUSTER_NAME}
- labels:
- glusterfs: heketi-${CLUSTER_NAME}-dc
- heketi: ${CLUSTER_NAME}-dc
- annotations:
- description: Defines how to deploy Heketi
- spec:
- replicas: 1
- selector:
- glusterfs: heketi-${CLUSTER_NAME}-pod
- triggers:
- - type: ConfigChange
- strategy:
- type: Recreate
- template:
- metadata:
- name: heketi-${CLUSTER_NAME}
- labels:
- glusterfs: heketi-${CLUSTER_NAME}-pod
- heketi: ${CLUSTER_NAME}-pod
- spec:
- serviceAccountName: heketi-${CLUSTER_NAME}-service-account
- containers:
- - name: heketi
- image: ${IMAGE_NAME}
- imagePullPolicy: IfNotPresent
- env:
- - name: HEKETI_USER_KEY
- value: ${HEKETI_USER_KEY}
- - name: HEKETI_ADMIN_KEY
- value: ${HEKETI_ADMIN_KEY}
- - name: HEKETI_EXECUTOR
- value: ${HEKETI_EXECUTOR}
- - name: HEKETI_FSTAB
- value: ${HEKETI_FSTAB}
- - name: HEKETI_SNAPSHOT_LIMIT
- value: '14'
- - name: HEKETI_KUBE_GLUSTER_DAEMONSET
- value: '1'
- - name: HEKETI_IGNORE_STALE_OPERATIONS
- value: "true"
- ports:
- - containerPort: 8080
- volumeMounts:
- - name: db
- mountPath: /var/lib/heketi
- - name: config
- mountPath: /etc/heketi
- readinessProbe:
- timeoutSeconds: 3
- initialDelaySeconds: 3
- httpGet:
- path: /hello
- port: 8080
- livenessProbe:
- timeoutSeconds: 3
- initialDelaySeconds: 30
- httpGet:
- path: /hello
- port: 8080
- volumes:
- - name: db
- glusterfs:
- endpoints: heketi-db-${CLUSTER_NAME}-endpoints
- path: heketidbstorage
- - name: config
- secret:
- secretName: heketi-${CLUSTER_NAME}-config-secret
- parameters:
- - name: HEKETI_USER_KEY
- displayName: Heketi User Secret
- description: Set secret for those creating volumes as type _user_
- - name: HEKETI_ADMIN_KEY
- displayName: Heketi Administrator Secret
- description: Set secret for administration of the Heketi service as user _admin_
- - name: HEKETI_EXECUTOR
- displayName: heketi executor type
- description: Set the executor type, kubernetes or ssh
- value: kubernetes
- - name: HEKETI_FSTAB
- displayName: heketi fstab path
- description: Set the fstab path, file that is populated with bricks that heketi creates
- value: /var/lib/heketi/fstab
- - name: HEKETI_ROUTE
- displayName: heketi route name
- description: Set the hostname for the route URL
- value: "heketi-glusterfs"
- - name: IMAGE_NAME
- displayName: heketi container image name
- required: True
- - name: CLUSTER_NAME
- displayName: GlusterFS cluster name
- description: A unique name to identify this heketi service, useful for running multiple heketi instances
- value: glusterfs
|