MinIO Operator
Install @ MinIO/Docs | minio/operator
A labyrinth of methods are involved, and at least one adjacent project is required, to perform the basic installation.
Pods failing to deploy are due, at least in part, to cluster being single-node and lacking StorageClass/Provisioner.
minio-operator
ver=6.0.4
app=minio-operator-v$ver.yaml
# Step 1 : Method 1
kubectl apply -k "github.com/minio/operator?ref=v6.0.4" --dry-run=client -o yaml \
|yq '.items | .[]' |sed '1!s/^apiVersion/---\napiVersion/' \
|tee $app
# Step 1 : Method 2
k kustomize github.com/minio/operator\?ref=v$ver |tee $app
# Deploy the app
k apply -f $app
k -n minio-operator get all
NAME READY STATUS RESTARTS AGE
pod/minio-operator-5dc4f5748f-7p4cn 1/1 Running 0 55m
pod/minio-operator-5dc4f5748f-99hp9 0/1 Pending 0 55m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/operator ClusterIP 10.43.43.208 <none> 4221/TCP 55m
service/sts ClusterIP 10.43.35.79 <none> 4223/TCP 55m
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/minio-operator 1/2 2 1 55m
NAME DESIRED CURRENT READY AGE
replicaset.apps/minio-operator-5dc4f5748f 2 2 1 55m
minio-tenant
☩ k -n minio-tenant get all
NAME READY STATUS RESTARTS AGE
pod/myminio-pool-0-0 0/2 Pending 0 11m
pod/myminio-pool-0-1 0/2 Pending 0 11m
pod/myminio-pool-0-2 0/2 Pending 0 11m
pod/myminio-pool-0-3 0/2 Pending 0 11m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/minio ClusterIP 10.43.146.30 <none> 443/TCP 11m
service/myminio-console ClusterIP 10.43.89.165 <none> 9443/TCP 11m
service/myminio-hl ClusterIP None <none> 9000/TCP 11m
NAME READY AGE
statefulset.apps/myminio-pool-0 0/4 11m
Install @ OperatorHub.io/OLM
Utilizes Operator Lifecycle Manager (OLM) project.
Install fails regardless of the multiple methods provided.
The installation script presented in its "Install" pop-up of "How to install an Operator from OperatorHub.io" page breaks by HTTP 404, even after finding and downloading the script itself, at all other resources tested.
See olm/install.sh
The hand-crafted install script built by reverse engineering the install script and manually pulling those manifests (olm/install-minio.sh
)
installs all assets of that script, yet the result of applying those manifests is a failure to deploy its pods due to some sort of security issue regarding its own declarations.
Project Meta
.
├── docs
│ ├── minio-operator-tenant-dry-run.yaml
│ └── minio-operator-v6.0.4-dry-run.yaml
├── olm
│ ├── crds.yaml
│ ├── install-minio.sh
│ ├── install.sh
│ ├── minio-operator.yaml
│ └── olm.yaml
├── README.html
└── README.md
2 directories, 9 files