GithubHelp home page GithubHelp logo

isabella232 / operator-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from minio/operator

0.0 0.0 0.0 4.13 MB

MinIO Operator for kubernetes (k8s) https://kubernetes.io/

License: GNU Affero General Public License v3.0

Dockerfile 0.11% Go 98.75% Makefile 0.84% Shell 0.30%

operator-1's Introduction

MinIO Operator Docker Pulls

MinIO Operator brings native support for MinIO, Graphical Console, and Encryption to Kubernetes. This document explains how to get started with MinIO Operator using kubectl minio plugin.

Prerequisites

  • Kubernetes >= v1.17.0.
  • Create PVs.
  • Install kubectl minio plugin using kubectl krew install minio.

Operator Setup

MinIO Operator offers MinIO Tenant creation, management, upgrade, zone addition and more. Operator is meant to control and manage multiple MinIO Tenants.

To get started, initialize the MinIO Operator deployment. This is a one time process.

kubectl minio init

Once the MinIO Operator is created, proceed with Tenant creation.

Tenant Setup

A Tenant is a MinIO cluster created and managed by the Operator. Before creating tenant, please ensure you have requisite nodes and drives in place and relevant PVs are created.

In below example, we ask MinIO Operator to create a Tenant yaml with 4 nodes, 16 volumes, and 16 Ti total raw capacity (4 volumes of 1 Ti per node). This means you need to have 4 PVs of 1Ti each per node, with a total of 4 nodes, before attempting to create the MinIO tenant.

Since MinIO has built-in erasure-code support for high-availability and data protection, we recommend the following CSI drivers for high-performance and scalability:

kubectl minio tenant create --name tenant1 --servers 4 --volumes 16 --capacity 16Ti

Optionally, you can generate a yaml file with the -o flag in above command and modify the yaml file as per your specific requirements. Once you verify and optionally add any other relevant fields to the file, create the tenant

kubectl minio tenant create --name tenant1 --servers 4 --volumes 16 --capacity 16Ti -o > tenant.yaml
kubectl apply -f tenant.yaml

Post Tenant Creation

Expanding a Tenant

You can add capacity to the tenant using kubectl minio plugin, like this

kubectl minio tenant expand --name tenant1 --servers 8 --volumes 32 --capacity 32Ti

This will add 32 drives spread uniformly over 8 servers to the tenant tenant1, with additional capacity of 32Ti. Read more about tenant expansion here.

License

Use of MinIO Operator is governed by the GNU AGPLv3 or later, found in the LICENSE file.

Explore Further

operator-1's People

Contributors

abperiasamy avatar adheipsingh avatar alevsk avatar andreas-eberle avatar belvid avatar cesnietor avatar chaoleili avatar cpanato avatar deekoder avatar donatello avatar dvaldivia avatar filmon-arefayne avatar gabrieljackson avatar glorf avatar gonzalezfj avatar hainesc avatar harshavardhana avatar jhutchings1 avatar jwilander avatar kerneltime avatar krisis avatar minio-trusted avatar nitisht avatar ochienged avatar praveenrajmani avatar reneluria avatar stefanhenseler avatar vadmeste avatar varesa avatar wanzenbug avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.