Site replication in k8s - cniackz/public GitHub Wiki

  1. Create a cluster
  • File: kind-config.yaml
# four node (two workers) cluster config
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
  - role: control-plane
  - role: worker
  - role: worker
  - role: worker
  - role: worker
kind delete cluster
kind create cluster --config kind-config.yaml
  1. Install Operator
kubectl apply -k github.com/minio/operator/
  1. install tenant lite
kubectl apply -k ~/operator/examples/kustomization/tenant-lite
  1. install tenant tiny
kubectl apply -k ~/operator/examples/kustomization/tenant-tiny
  1. Deploy generic ubuntu pod:
  • File: ubuntu.yaml
apiVersion: v1
kind: Pod
metadata:
  name: ubuntu
  labels:
    app: ubuntu
spec:
  volumes:
    - name: socket
      hostPath:
        path: /run/containerd/containerd.sock
  containers:
  - volumeMounts:
      - mountPath: /run/containerd/containerd.sock
        name: socket
        readOnly: false
    image: ubuntu
    command:
      - "sleep"
      - "604800"
    imagePullPolicy: IfNotPresent
    name: ubuntu
  restartPolicy: Always
k apply -f ubuntu.yaml 
  1. with mc perform site replication
mc alias set aliasuno https://minio.tenant-lite.svc.cluster.local minio minio123
mc alias set aliasdos https://minio.tenant-tiny.svc.cluster.local minio minio123

Expected:

root@ubuntu:/# mc alias set aliasuno https://minio.tenant-lite.svc.cluster.local minio minio123
Added `aliasuno` successfully.
root@ubuntu:/# mc alias set aliasdos https://minio.tenant-tiny.svc.cluster.local minio minio123
Added `aliasdos` successfully.
  1. Site replicate:
mc admin replicate add aliasuno aliasdos

Expected:

root@ubuntu:/# mc admin replicate add aliasuno aliasdos
Requested sites were configured for replication successfully.