blob: a480be2943b9192da6a7b92c0a2a0d7c4c175721 [file] [log] [blame]
apiVersion: miniocontroller.min.io/v1beta1
kind: MinIOInstance
metadata:
name: minio
## If specified, MinIOInstance pods will be dispatched by specified scheduler.
## If not specified, the pod will be dispatched by default scheduler.
# scheduler:
# name: my-custom-scheduler
spec:
selector:
matchLabels:
app: minio # Should match spec.metadata.labels
## Add metadata to the all pods created by the StatefulSet
metadata:
labels:
app: minio # Should match spec.selector.matchLabels
annotations:
prometheus.io/path: /minio/prometheus/metrics
prometheus.io/port: "9000"
prometheus.io/scrape: "true"
## Registry location and Tag to download MinIO Server image
image: minio/minio:RELEASE.2020-01-03T19-12-21Z
## Secret with credentials to be used by MinIO instance.
credsSecret:
name: minio-creds-secret
## Supply number of replicas.
## For standalone mode, supply 1. For distributed mode, supply 4 or more (should be even).
## Note that the operator does not support upgrading from standalone to distributed mode.
replicas: 1
## PodManagement policy for pods created by StatefulSet. Can be "OrderedReady" or "Parallel"
## Refer https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#pod-management-policy
## for details. Defaults to "Parallel"
## If set to "OrderedReady", then disable Readiness checks below. Readiness check will only
## work if PodManagementPolicy is set to "Parallel".
podManagementPolicy: Parallel
## Enable Kubernetes based certificate generation and signing as explained in
## https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster
requestAutoCert: false
## Used when "requestAutoCert" is set to true. Set CommonName for the auto-generated certificate.
## Internal DNS name for the pod will be used if CommonName is not provided.
certConfig:
commonName: ""
organizationName: []
dnsNames: []
## Used to specify a toleration for a pod
# tolerations:
# - effect: NoSchedule
# key: dedicated
# operator: Equal
# value: storage
## Add environment variables to be set in MinIO container (https://github.com/minio/minio/tree/master/docs/config)
env:
- name: MINIO_BROWSER
value: "on"
# - name: MINIO_STORAGE_CLASS_RRS
# value: "EC:2"
## Configure resource requests and limits for MinIO containers
resources:
requests:
memory: 512Mi
cpu: 250m
## Liveness probe detects situations where MinIO server instance
## is not working properly and needs restart. Kubernetes automatically
## restarts the pods if liveness checks fail.
liveness:
httpGet:
path: /minio/health/live
port: 9000
initialDelaySeconds: 120
periodSeconds: 20
## Readiness probe detects situations when MinIO server instance
## is not ready to accept traffic. Kubernetes doesn't forward
## traffic to the pod while readiness checks fail.
## Readiness check will only work if PodManagementPolicy is set to "Parallel".
## Disable this check if you're setting PodManagementPolicy to "OrderedReady".
readiness:
httpGet:
path: /minio/health/ready
port: 9000
initialDelaySeconds: 120
periodSeconds: 20
## nodeSelector parameters for MinIO Pods. It specifies a map of key-value pairs. For the pod to be
## eligible to run on a node, the node must have each of the
## indicated key-value pairs as labels.
## Read more here: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
# nodeSelector:
# disktype: ssd
## Affinity settings for MinIO pods. Read more about affinity
## here: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity.
# affinity:
## Secret with certificates to configure TLS for MinIO certs. Create secrets as explained
## here: https://github.com/minio/minio/tree/master/docs/tls/kubernetes#2-create-kubernetes-secret
# externalCertSecret:
# name: tls-ssl-minio
## Mountpath where PV will be mounted inside container(s). Defaults to "/export".
# mountPath: /export
## Subpath inside Mountpath where MinIO starts. Defaults to "".
# subPath: /data
volumeClaimTemplate:
metadata:
name: data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi