Last active
October 15, 2020 07:07
-
-
Save alexcpn/2986863352400cc1c7907a32f2fd0cac to your computer and use it in GitHub Desktop.
Deploying sample Mino S3 in Kuberentes cluster
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
# This name uniquely identifies the Deployment | |
name: minio | |
namespace: minio | |
spec: | |
selector: | |
matchLabels: | |
app: minio # has to match .spec.template.metadata.labels | |
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.2020-05-01T22-19-14Z | |
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 | |
-------- | |
apiVersion: v1 | |
kind: PersistentVolumeClaim | |
metadata: | |
finalizers: | |
- kubernetes.io/pvc-protection | |
labels: | |
app: minio | |
name: minio-pv-claim | |
namespace: minio | |
spec: | |
storageClassName: rook-ceph-block | |
accessModes: | |
- ReadWriteOnce | |
resources: | |
requests: | |
storage: 10Gi | |
---- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
# This name uniquely identifies the service | |
name: minio-service | |
namespace: minio | |
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 | |
--- | |
kubectl port-forward minio-64b7c649f9-9xf5x --address 0.0.0.0 7000:9000 --namespace minio | |
--- | |
Thats it | |
http://10.131.232.223:7000/minio/ | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment