Skip to content

Commit

Permalink
Merge pull request #506 from threefoldtech/development
Browse files Browse the repository at this point in the history
dev to master periodic update
  • Loading branch information
mik-tf authored Apr 18, 2024
2 parents 37f191c + b5e2abb commit 6c6a169
Show file tree
Hide file tree
Showing 4 changed files with 114 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
112 changes: 112 additions & 0 deletions src/documentation/system_administrators/advanced/minio_helm3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
<h1>MinIO Operator with Helm 3</h1>

<h2>Table of Contents</h2>

- [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@<VM_IP>
```
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/).

0 comments on commit 6c6a169

Please sign in to comment.