| giolekva | b0b7f00 | 2020-04-16 16:05:40 +0400 | [diff] [blame] | 1 | apiVersion: miniocontroller.min.io/v1beta1 |
| 2 | kind: MinIOInstance |
| 3 | metadata: |
| 4 | name: minio |
| 5 | ## If specified, MinIOInstance pods will be dispatched by specified scheduler. |
| 6 | ## If not specified, the pod will be dispatched by default scheduler. |
| 7 | # scheduler: |
| 8 | # name: my-custom-scheduler |
| 9 | spec: |
| 10 | selector: |
| 11 | matchLabels: |
| 12 | app: minio # Should match spec.metadata.labels |
| 13 | ## Add metadata to the all pods created by the StatefulSet |
| 14 | metadata: |
| 15 | labels: |
| 16 | app: minio # Should match spec.selector.matchLabels |
| 17 | annotations: |
| 18 | prometheus.io/path: /minio/prometheus/metrics |
| 19 | prometheus.io/port: "9000" |
| 20 | prometheus.io/scrape: "true" |
| 21 | ## Registry location and Tag to download MinIO Server image |
| 22 | image: minio/minio:RELEASE.2020-01-03T19-12-21Z |
| 23 | ## Secret with credentials to be used by MinIO instance. |
| 24 | credsSecret: |
| 25 | name: minio-creds-secret |
| 26 | ## Supply number of replicas. |
| 27 | ## For standalone mode, supply 1. For distributed mode, supply 4 or more (should be even). |
| 28 | ## Note that the operator does not support upgrading from standalone to distributed mode. |
| 29 | replicas: 1 |
| 30 | ## PodManagement policy for pods created by StatefulSet. Can be "OrderedReady" or "Parallel" |
| 31 | ## Refer https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#pod-management-policy |
| 32 | ## for details. Defaults to "Parallel" |
| 33 | ## If set to "OrderedReady", then disable Readiness checks below. Readiness check will only |
| 34 | ## work if PodManagementPolicy is set to "Parallel". |
| 35 | podManagementPolicy: Parallel |
| 36 | ## Enable Kubernetes based certificate generation and signing as explained in |
| 37 | ## https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster |
| 38 | requestAutoCert: false |
| 39 | ## Used when "requestAutoCert" is set to true. Set CommonName for the auto-generated certificate. |
| 40 | ## Internal DNS name for the pod will be used if CommonName is not provided. |
| 41 | certConfig: |
| 42 | commonName: "" |
| 43 | organizationName: [] |
| 44 | dnsNames: [] |
| 45 | |
| 46 | ## Used to specify a toleration for a pod |
| 47 | # tolerations: |
| 48 | # - effect: NoSchedule |
| 49 | # key: dedicated |
| 50 | # operator: Equal |
| 51 | # value: storage |
| 52 | ## Add environment variables to be set in MinIO container (https://github.com/minio/minio/tree/master/docs/config) |
| 53 | env: |
| 54 | - name: MINIO_BROWSER |
| 55 | value: "on" |
| 56 | # - name: MINIO_STORAGE_CLASS_RRS |
| 57 | # value: "EC:2" |
| 58 | ## Configure resource requests and limits for MinIO containers |
| 59 | resources: |
| 60 | requests: |
| 61 | memory: 512Mi |
| 62 | cpu: 250m |
| 63 | ## Liveness probe detects situations where MinIO server instance |
| 64 | ## is not working properly and needs restart. Kubernetes automatically |
| 65 | ## restarts the pods if liveness checks fail. |
| 66 | liveness: |
| 67 | httpGet: |
| 68 | path: /minio/health/live |
| 69 | port: 9000 |
| 70 | initialDelaySeconds: 120 |
| 71 | periodSeconds: 20 |
| 72 | ## Readiness probe detects situations when MinIO server instance |
| 73 | ## is not ready to accept traffic. Kubernetes doesn't forward |
| 74 | ## traffic to the pod while readiness checks fail. |
| 75 | ## Readiness check will only work if PodManagementPolicy is set to "Parallel". |
| 76 | ## Disable this check if you're setting PodManagementPolicy to "OrderedReady". |
| 77 | readiness: |
| 78 | httpGet: |
| 79 | path: /minio/health/ready |
| 80 | port: 9000 |
| 81 | initialDelaySeconds: 120 |
| 82 | periodSeconds: 20 |
| 83 | ## nodeSelector parameters for MinIO Pods. It specifies a map of key-value pairs. For the pod to be |
| 84 | ## eligible to run on a node, the node must have each of the |
| 85 | ## indicated key-value pairs as labels. |
| 86 | ## Read more here: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
| 87 | # nodeSelector: |
| 88 | # disktype: ssd |
| 89 | ## Affinity settings for MinIO pods. Read more about affinity |
| 90 | ## here: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity. |
| 91 | # affinity: |
| 92 | ## Secret with certificates to configure TLS for MinIO certs. Create secrets as explained |
| 93 | ## here: https://github.com/minio/minio/tree/master/docs/tls/kubernetes#2-create-kubernetes-secret |
| 94 | # externalCertSecret: |
| 95 | # name: tls-ssl-minio |
| 96 | ## Mountpath where PV will be mounted inside container(s). Defaults to "/export". |
| 97 | # mountPath: /export |
| 98 | ## Subpath inside Mountpath where MinIO starts. Defaults to "". |
| 99 | # subPath: /data |
| 100 | volumeClaimTemplate: |
| 101 | metadata: |
| 102 | name: data |
| 103 | spec: |
| 104 | accessModes: |
| 105 | - ReadWriteOnce |
| 106 | resources: |
| 107 | requests: |
| 108 | storage: 10Gi |