diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 0b0c70ee..4a5b2882 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -253,7 +253,8 @@ - [Redis](documentation/system_administrators/advanced/grid3_redis.md) - [IPFS](documentation/system_administrators/advanced/ipfs/ipfs_toc.md) - [IPFS on a Full VM](documentation/system_administrators/advanced/ipfs/ipfs_fullvm.md) - - [IPFS on a Micro VM](documentation/system_administrators/advanced/ipfs/ipfs_microvm.md) + - [IPFS on a Micro VM](documentation/system_administrators/advanced/ipfs/ipfs_microvm.md) + - [MinIO Operator with Helm3](documentation/system_administrators/advanced/minio_helm3.md) - [AI & ML Workloads](documentation/system_administrators/advanced/ai_ml_workloads.md) - [ThreeFold Token](documentation/threefold_token/threefold_token.md) - [TFT Bridges](documentation/threefold_token/tft_bridges/tft_bridges.md) diff --git a/src/documentation/system_administrators/advanced/img/minio_1.png b/src/documentation/system_administrators/advanced/img/minio_1.png new file mode 100644 index 00000000..58d1627c Binary files /dev/null and b/src/documentation/system_administrators/advanced/img/minio_1.png differ diff --git a/src/documentation/system_administrators/advanced/img/minio_2.png b/src/documentation/system_administrators/advanced/img/minio_2.png new file mode 100644 index 00000000..3db775dc Binary files /dev/null and b/src/documentation/system_administrators/advanced/img/minio_2.png differ diff --git a/src/documentation/system_administrators/advanced/minio_helm3.md b/src/documentation/system_administrators/advanced/minio_helm3.md new file mode 100644 index 00000000..471043e9 --- /dev/null +++ b/src/documentation/system_administrators/advanced/minio_helm3.md @@ -0,0 +1,112 @@ +

MinIO Operator with Helm 3

+ +

Table of Contents

+ +- [Introduction](#introduction) +- [Prerequisites](#prerequisites) +- [Create an SSH Tunnel](#create-an-ssh-tunnel) +- [Set the VM](#set-the-vm) +- [Set MinIO](#set-minio) +- [Access the MinIO Operator](#access-the-minio-operator) +- [Questions and Feedback](#questions-and-feedback) + +*** + +## Introduction + +We show how to deploy a Kubernetes cluster and set a [MinIO](https://min.io/) Operator with [Helm 3](https://helm.sh/). + +MinIO is a high-performance, S3 compatible object store. It is built for +large scale AI/ML, data lake and database workloads. Helm is a package manager for Kubernetes that allows developers and operators to more easily package, configure, and deploy applications and services onto Kubernetes clusters. + +## Prerequisites + +- TFChain account with TFT +- [Deploy Kubernetes cluster with one master and one worker (IPv4)](../../dashboard/solutions/k8s.md) +- [Make sure you can connect via SSH on the terminal](../../system_administrators/getstarted/ssh_guide/ssh_openssh.md) + +## Create an SSH Tunnel + +To access the MinIO Operator, we need to create an SSH tunnel with the port 9090. + +- Open a terminal and create an SSH tunnel + ``` + ssh -4 -L 9090:127.0.0.1:9090 root@ + ``` + +Simply leave this window open and follow the next steps. + +## Set the VM + +We set the Master VM to access the minIO Operator. + +- Install the prerequisites: + ``` + apt update + apt install git -y + apt install wget + apt install jq -y + ``` +- Install Helm + ``` + wget https://get.helm.sh/helm-v3.14.3-linux-amd64.tar.gz + tar -xvf helm-v3.14.3-linux-amd64.tar.gz + mv linux-amd64/helm /usr/local/bin/helm + ``` +- Install yq + ``` + wget https://github.com/mikefarah/yq/releases/download/v4.43.1/yq_linux_amd64.tar.gz + tar -xvf yq_linux_amd64.tar.gz + mv yq_linux_amd64 /usr/bin/yq + ``` + +## Set MinIO + +We can then set the MinIO Operator. For this step, we mainly follow the MinIO documentation [here](https://min.io/docs/minio/kubernetes/upstream/operations/install-deploy-manage/deploy-operator-helm.html). + +- Add the MinIO repo + ``` + helm repo add minio-operator https://operator.min.io + ``` +- Validate the MinIO repo content + ``` + helm search repo minio-operator + ``` +- Install the operator + ``` + helm install \ + --namespace minio-operator \ + --create-namespace \ + operator minio-operator/operator + ``` +- Verify the operator installation + ``` + kubectl get all -n minio-operator + ``` + +## Access the MinIO Operator + +You can then access the MinIO Operator on your local browser (port 9090) + +``` +localhost:9090 +``` + +To log in the MinIO Operator, you will need to enter the token. To see the token, run the following line: + +``` +kubectl get secret/console-sa-secret -n minio-operator -o json | jq -r ".data.token" | base64 -d +``` + +Enter the token on the login page: + +![minio_1](./img/minio_1.png) + +You then have access to the MinIO Operator: + +![minio_2](./img/minio_2.png) + + +## Questions and Feedback + +If you have any questions, feel free to ask for help on the [ThreeFold Forum](https://forum.threefold.io/). \ No newline at end of file