Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dev to master periodic update #506

Merged
merged 3 commits into from
Apr 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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/).