- apiVersion: v1
- kind: Pod
- metadata:
- name: minio
- labels:
- app: minio
- spec:
- containers:
- - name: minio
- imagePullPolicy: Always
- image: minio/minio
- volumeMounts:
- - name: minio-data
- mountPath: /data
- args:
- - server
- - /data
- env:
- # MinIO access key and secret key
- - name: MINIO_ACCESS_KEY
- value: "minio"
- - name: MINIO_SECRET_KEY
- value: "minio123"
- ports:
- - containerPort: 9000
- # 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.
- readinessProbe:
- httpGet:
- path: /minio/health/ready
- port: 9000
- initialDelaySeconds: 120
- periodSeconds: 20
- # Liveness probe detects situations where MinIO server instance
- # is not working properly and needs restart. Kubernetes automatically
- # restarts the pods if liveness checks fail.
- livenessProbe:
- httpGet:
- path: /minio/health/live
- port: 9000
- initialDelaySeconds: 120
- periodSeconds: 20
- volumes:
- - name: minio-data
- persistentVolumeClaim:
- claimName: minio-data-0
- ---
- apiVersion: v1
- kind: Service
- metadata:
- # This name uniquely identifies the service
- name: minio-service
- spec:
- type: LoadBalancer
- ports:
- - port: 9000
- targetPort: 9000
- protocol: TCP
- selector:
- # Looks for labels `app:minio` in the namespace and applies the spec
- app: minio
- ---
- kind: PersistentVolumeClaim
- apiVersion: v1
- metadata:
- name: minio-data-0
- labels:
- app: minio
- annotations:
- volume.beta.kubernetes.io/storage-class: minio-pod-storage
- spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: 5Gi
- dataSource:
- ---
- kind: StorageClass
- apiVersion: storage.k8s.io/v1
- metadata:
- name: minio-pod-storage
- provisioner: kubernetes.io/vsphere-volume
- parameters:
- diskformat: thin
- datastore: itsoesxcaas01_LUN01
- fstype: ext3