Deploy MinIO on KubeSphere

MinIO object storage is designed for high performance and the S3 API. It is ideal for large, private cloud environments with stringent security requirements and delivers mission-critical availability across a diverse range of workloads.

This tutorial walks you through an example of deploying MinIO from the App Store of KubeSphere.

Prerequisites

  • Please make sure you enable the OpenPitrix system.
  • You need to create a workspace, a project, and a user account (project-regular) for this tutorial. The account needs to be a platform regular user and to be invited as the project operator with the operator role. In this tutorial, you log in as project-regular and work in the project demo-project in the workspace demo-workspace. For more information, see Create Workspaces, Projects, Accounts and Roles.

Hands-on Lab

Step 1: Deploy MinIO from the App Store

  1. On the Overview page of the project demo-project, click App Store in the top-left corner.

    minio-app

  2. Find MinIO and click Deploy on the App Information page.

    minio-in-app-store

    deploy-minio

  3. Set a name and select an app version. Make sure MinIO is deployed in demo-project and click Next.

    minio-deploy

  4. In App Configurations, you can use the default configuration or customize the configuration by editing the YAML file directly. Click Deploy to continue.

    deloy-minio-2

  5. Wait until MinIO is up and running.

    minio-in-list

Step 2: Access the MinIO Browser

To access MinIO outside the cluster, you need to expose the app through a NodePort first.

  1. Go to Services and click the service name of MinIO.

    minio-detail

  2. Click More and select Edit Internet Access from the drop-down menu.

    edit-internet-access

  3. Select NodePort for Access Method and click OK. For more information, see Project Gateway.

    nodeport

  4. Under Service Ports, you can see the port is exposed.

    port-exposed

  5. To access the MinIO browser, you need accessKey and secretKey, which are specified in the configuration file of MinIO. Go to App Templates in Apps, click MinIO, and you can find the value of these two fields under the tab Configuration Files.

    template-list

    config-file

  6. Access the MinIO browser through <NodeIP>:<NodePort> using accessKey and secretKey.

    minio-browser

    minio-browser-interface

    Note

    You may need to open the port in your security groups and configure related port forwarding rules depending on your where your Kubernetes cluster is deployed.
  7. For more information about MinIO, refer to the official documentation of MinIO.


Thanks for the feedback. If you have a specific question about how to use KubeSphere, ask it on Slack. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.