2017-04-24 12:20:51 -04:00
|
|
|
apiVersion: v1
|
|
|
|
kind: Service
|
|
|
|
metadata:
|
|
|
|
# This service is meant to be used by clients of the object store. It exposes a ClusterIP that will
|
|
|
|
# automatically load balance connections to the different database pods.
|
|
|
|
name: minio-public
|
|
|
|
labels:
|
|
|
|
app: minio
|
|
|
|
spec:
|
|
|
|
ports:
|
|
|
|
- port: 9000
|
|
|
|
targetPort: 9000
|
|
|
|
selector:
|
|
|
|
app: minio
|
|
|
|
---
|
|
|
|
apiVersion: v1
|
|
|
|
kind: Service
|
|
|
|
metadata:
|
|
|
|
# This service only exists to create DNS entries for each pod in the stateful
|
|
|
|
# set such that they can resolve each other's IP addresses. It does not
|
|
|
|
# create a load-balanced ClusterIP and should not be used directly by clients
|
|
|
|
# in most circumstances.
|
|
|
|
name: minio
|
|
|
|
labels:
|
|
|
|
app: minio
|
|
|
|
spec:
|
|
|
|
ports:
|
|
|
|
- port: 9000
|
|
|
|
targetPort: 9000
|
|
|
|
clusterIP: None
|
|
|
|
selector:
|
|
|
|
app: minio
|
|
|
|
---
|
|
|
|
apiVersion: apps/v1beta1
|
|
|
|
kind: StatefulSet
|
|
|
|
metadata:
|
|
|
|
name: minio
|
|
|
|
spec:
|
|
|
|
serviceName: "minio"
|
|
|
|
replicas: 4
|
|
|
|
template:
|
|
|
|
metadata:
|
|
|
|
labels:
|
|
|
|
app: minio
|
|
|
|
spec:
|
|
|
|
volumes:
|
|
|
|
- name: data
|
|
|
|
persistentVolumeClaim:
|
|
|
|
claimName: data-minio
|
|
|
|
containers:
|
|
|
|
- name: minio
|
|
|
|
env:
|
|
|
|
- name: MINIO_ACCESS_KEY
|
|
|
|
value: "minio"
|
|
|
|
- name: MINIO_SECRET_KEY
|
|
|
|
value: "minio123"
|
2018-04-12 19:45:16 -04:00
|
|
|
image: minio/minio:RELEASE.2018-04-12T23-41-09Z
|
2017-04-24 12:20:51 -04:00
|
|
|
imagePullPolicy: IfNotPresent
|
|
|
|
args: ["server", "http://minio-0.minio.default.svc.cluster.local/data", "http://minio-1.minio.default.svc.cluster.local/data", "http://minio-2.minio.default.svc.cluster.local/data", "http://minio-3.minio.default.svc.cluster.local/data"]
|
|
|
|
ports:
|
|
|
|
- containerPort: 9000
|
|
|
|
# These volume mounts are persistent. Each pod in the PetSet
|
|
|
|
# gets a volume mounted based on this field.
|
|
|
|
volumeMounts:
|
|
|
|
- name: data
|
|
|
|
mountPath: /data
|
|
|
|
# These are converted to volume claims by the controller
|
|
|
|
# and mounted at the paths mentioned above.
|
|
|
|
volumeClaimTemplates:
|
|
|
|
- metadata:
|
|
|
|
name: data
|
|
|
|
annotations:
|
|
|
|
volume.alpha.kubernetes.io/storage-class: anything
|
|
|
|
spec:
|
|
|
|
accessModes: [ "ReadWriteOnce" ]
|
|
|
|
resources:
|
|
|
|
requests:
|
|
|
|
storage: 2Gi
|