|
|
|
apiVersion: extensions/v1beta1
|
|
|
|
kind: Deployment
|
|
|
|
metadata:
|
|
|
|
# This name uniquely identifies the Deployment
|
|
|
|
name: minio
|
|
|
|
spec:
|
|
|
|
strategy:
|
|
|
|
# Specifies the strategy used to replace old Pods by new ones
|
|
|
|
# Refer: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
|
|
|
|
type: Recreate
|
|
|
|
template:
|
|
|
|
metadata:
|
|
|
|
labels:
|
|
|
|
# This label is used as a selector in Service definition
|
|
|
|
app: minio
|
|
|
|
spec:
|
|
|
|
# Volumes used by this deployment
|
|
|
|
volumes:
|
|
|
|
- name: data
|
|
|
|
# This volume is based on PVC
|
|
|
|
persistentVolumeClaim:
|
|
|
|
# Name of the PVC created earlier
|
|
|
|
claimName: minio-pv-claim
|
|
|
|
containers:
|
|
|
|
- name: minio
|
|
|
|
# Volume mounts for this container
|
|
|
|
volumeMounts:
|
|
|
|
# Volume 'data' is mounted to path '/data'
|
|
|
|
- name: data
|
|
|
|
mountPath: "/data"
|
|
|
|
# Pulls the lastest Minio image from Docker Hub
|
|
|
|
image: minio/minio:RELEASE.2018-10-18T00-28-58Z
|
|
|
|
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
|