apiVersion: apps/v1beta1 kind: StatefulSet metadata: name: minio spec: serviceName: minio replicas: 4 template: metadata: annotations: pod.alpha.kubernetes.io/initialized: "true" labels: app: minio spec: containers: - name: minio env: - name: MINIO_ACCESS_KEY value: "minio" - name: MINIO_SECRET_KEY value: "minio123" image: minio/minio:RELEASE.2017-11-22T19-55-46Z 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 hostPort: 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: 10Gi