##
We are going to make the following changes to the Object Store docs as
part of a larger QC/Content pass:
### Left Navigation
We want to modify the left navigation flow to be a natural progression
from a basic setup to more advanced.
For example:
- Core Concepts
- Deployment Architecture
- Availability and Resiliency
- Erasure Coding and Object Healing
- Object Scanner
- Site Replication and Failover
- Thresholds and Limits
- Installation
- Deployment Checklist
- Deploy MinIO on Kubernetes
- Deploy MinIO on Red Hat Linux
- Deploy MinIO on Ubuntu Linux
- Deploy MinIO for Development (MacOS, Windows, Container)
- Security and Encryption (Conceptual Overview)
- Network Encryption (TLS) (Conceptual overview)
- Enable Network Encryption using Single Domain
- Enable Network Encryption using Multiple Domains
- Enable Network Encryption using certmanager (Kubernetes only)
- Data Encryption (SSE) (Conceptual overview)
- Enable SSE using AIStor Key Management Server
- Enable SSE using KES (Summary page + linkouts)
- External Identity Management (Conceptual Overview)
- Enable External Identity management using OpenID
- Enable External Identity management using AD/LDAP
- Backup and Recovery
- Create a Multi-Site Replication Configuration
- Recovery after Hardware Failure
- Recover after drive failure
- Recover after node failure
- Recover after site failure
- Monitoring and Alerts
- Metrics and Alerting (v3 reference)
- Monitoring and Alerting using Prometheus
- Monitoring and Alerting using InfluxDB
- Monitoring and Alerting using Grafana
- Metrics V2 Reference
- Publish Server and Audit Logs to External Services
- MinIO Healthcheck API
The Administration, Developer, and Reference sections will remain as-is
for now.
http://192.241.195.202:9000/staging/singleplat/mindocs/index.html
# Goals
Maintaining multiple platforms is getting to be too much, and based on
analytics the actual number of users taking advantage of it is minimal.
Furthermore, the majority of traffic is to installation pages.
Therefore we're going to try to collapse back into a single MinIO Object
Storage product, and use simple navigation and on-page selectors to
handle Baremetal vs Kubernetes.
This may also help to eventually stage us to migrate to Hugo + Markdown
---------
Co-authored-by: Daryl White <53910321+djwfyi@users.noreply.github.com>
Co-authored-by: Rushan <rushenn@minio.io>
Co-authored-by: rushenn <rushenn123@gmail.com>
7.3 KiB
Deploy MinIO as a Container
minio
Table of Contents
This page documents deploying MinIO as a Container onto any operating system that supports containerized processes.
This documentation assumes installation of Docker, Podman, or a similar runtime which supports the standard container image format. MinIO images use Red Hat Universal Base Image 9 Micro.
Functionality and performance of the MinIO container may be constrained by the base OS.
The procedure includes guidance for deploying Single-Node Multi-Drive (SNMD) and Single-Node Single-Drive (SNSD) topologies in support of early development and evaluation environments.
Important
MinIO officially supports containerized Multi-Node Multi-Drive (MNMD) "Distributed" configurations on Kubernetes infrastructures through the MinIO Kubernetes Operator.
MinIO does not support nor provide instruction for deploying distributed clusters using Docker Swarm, Docker Compose, or any other orchestrated container environment.
Considerations
Review Checklists
Ensure you have reviewed our published Hardware, Software, and Security checklists before attempting this procedure.
Erasure Coding Parity
MinIO automatically determines the default erasure coding <minio-erasure-coding>
configuration for the cluster based on the total number of nodes and
drives in the topology. You can configure the per-object parity setting when you set
up the cluster or let MinIO select the default
(EC:4 for production-grade clusters).
Parity controls the relationship between object availability and storage on disk. Use the MinIO Erasure Code Calculator for guidance in selecting the appropriate erasure code parity level for your cluster.
While you can change erasure parity settings at any time, objects written with a given parity do not automatically update to the new parity settings.
Container Storage
This procedure assumes you mount one or more dedicated storage devices to the container to act as persistent storage for MinIO.
Data stored on ephemeral container paths is lost when the container restarts or is deleted. Use any such paths at your own risk.
Procedure
- Start the Container
This procedure provides instructions for Podman and Docker in rootfull mode. For rootless deployments, defer to documentation by each runtime for configuration and container startup.
For all other container runtimes, follow the documentation for that runtime and specify the equivalent options, parameters, or configurations.
Podman
The following command creates a folder in your home directory, then starts the MinIO container using Podman:
mkdir -p ~/minio/data
podman run \
-p 9000:9000 \
-p 9001:9001 \
--name minio \
-v ~/minio/data:/data \
-e "MINIO_ROOT_USER=ROOTNAME" \
-e "MINIO_ROOT_PASSWORD=CHANGEME123" \
quay.io/minio/minio server /data --console-address ":9001"
The command binds ports 9000 and 9001 to
the MinIO S3 API and Web Console respectively.
The local drive ~/minio/data is mounted to the
/data folder on the container. You can modify the MINIO_ROOT_USER and MINIO_ROOT_PASSWORD
variables to change the root login as needed.
For multi-drive deployments, bind each local drive or folder it's on
sequentially-numbered path on the remote. You can then modify the minio server startup to
specify those paths:
mkdir -p ~/minio/data-{1..4}
podman run \
-p 9000:9000 \
-p 9001:9001 \
--name minio \
-v /mnt/drive-1:/mnt/drive-1 \
-v /mnt/drive-2:/mnt/drive-2 \
-v /mnt/drive-3:/mnt/drive-3 \
-v /mnt/drive-4:/mnt/drive-4 \
-e "MINIO_ROOT_USER=ROOTNAME" \
-e "MINIO_ROOT_PASSWORD=CHANGEME123" \
quay.io/minio/minio server http://localhost:9000/mnt/drive-{1...4} --console-address ":9001"
For Windows hosts, specify the local folder path using Windows
filesystem semantics C:\minio\:/data.
Docker
The following command creates a folder in your home directory, then starts the MinIO container using Docker:
mkdir -p ~/minio/data
docker run \
-p 9000:9000 \
-p 9001:9001 \
--name minio \
-v ~/minio/data:/data \
-e "MINIO_ROOT_USER=ROOTNAME" \
-e "MINIO_ROOT_PASSWORD=CHANGEME123" \
quay.io/minio/minio server /data --console-address ":9001"
The command binds ports 9000 and 9001 to
the MinIO S3 API and Web Console respectively.
The local drive ~/minio/data is mounted to the
/data folder on the container. You can modify the MINIO_ROOT_USER and MINIO_ROOT_PASSWORD
variables to change the root login as needed.
For multi-drive deployments, bind each local drive or folder it's on
sequentially-numbered path on the remote. You can then modify the minio server startup to
specify those paths:
mkdir -p ~/minio/data-{1..4}
docker run \
-p 9000:9000 \
-p 9001:9001 \
--name minio \
-v /mnt/drive-1:/mnt/drive-1 \
-v /mnt/drive-2:/mnt/drive-2 \
-v /mnt/drive-3:/mnt/drive-3 \
-v /mnt/drive-4:/mnt/drive-4 \
-e "MINIO_ROOT_USER=ROOTNAME" \
-e "MINIO_ROOT_PASSWORD=CHANGEME123" \
quay.io/minio/minio server http://localhost:9000/mnt/drive-{1...4} --console-address ":9001"
For Windows hosts, specify the local folder path using Windows
filesystem semantics C:\minio\:/data.
2. Connect to the Deployment
Console
Open your browser to http://localhost:9000 to open the MinIO Console <minio-console> login page.
Log in with the MINIO_ROOT_USER and MINIO_ROOT_PASSWORD from
the previous step.
You can use the MinIO Console for general administration tasks like Identity and Access Management, Metrics and Log Monitoring, or Server Configuration. Each MinIO server includes its own embedded MinIO Console.
CLI
Follow the installation instructions <mc-install> for
mc on your local host. Run mc --version to
verify the installation.
Once installed, create an alias for the MinIO deployment:
mc alias set myminio http://localhost:9000 USERNAME PASSWORD
Change the hostname, username, and password to reflect your deployment.
