Обновлена документация под новые аддоны (gitlab, redis, mongodb, kafka, kafka-ui, rabbitmq) и новую модель явного выбора зависимостей. Добавлены и унифицированы описания переключателей *_database_mode и *_redis_mode, обновлена таблица зависимостей аддонов, примеры конфигурации и список vault-секретов.
MinIO
S3-совместимое объектное хранилище. Используется как backend для Loki, Velero, CSI S3 Driver и других аддонов. Поддерживает standalone и distributed режим.
Быстрый старт
# group_vars/all/addons.yml
addon_minio: true
Секреты в vault.yml:
vault_minio_root_user: "admin"
vault_minio_root_password: "secure-password-min-8-chars"
make addon-minio
Параметры
| Переменная | Умолч. | Описание |
|---|---|---|
minio_mode |
distributed |
standalone | distributed |
minio_replicas |
4 |
Реплик (мин. 4 для distributed) |
minio_storage_size |
10Gi |
PVC на каждую реплику |
minio_ingress_enabled |
false |
Console + API через Ingress |
Режим standalone (одна нода)
minio_mode: "standalone"
minio_replicas: 1
minio_storage_size: "50Gi"
Включить Ingress
minio_ingress_enabled: true
minio_console_ingress_host: "minio.example.com"
minio_api_ingress_host: "s3.example.com"
minio_ingress_tls: true
Использование из приложений
# Переменные окружения:
env:
- name: MINIO_ENDPOINT
value: "minio.minio.svc.cluster.local:9000"
- name: MINIO_ACCESS_KEY
valueFrom:
secretKeyRef:
name: minio-credentials
key: access-key
- name: MINIO_SECRET_KEY
valueFrom:
secretKeyRef:
name: minio-credentials
key: secret-key
MinIO Client (mc) — управление
# Установить mc
kubectl run minio-client --image=minio/mc --rm -it -- bash
# Настроить endpoint
mc alias set myminio http://minio.minio.svc.cluster.local:9000 admin password
# Операции с бакетами
mc mb myminio/my-bucket
mc ls myminio/
mc cp myfile.txt myminio/my-bucket/
mc policy set public myminio/public-bucket
SDK пример (Python)
from minio import Minio
client = Minio(
"minio.minio.svc.cluster.local:9000",
access_key="admin",
secret_key="password",
secure=False
)
# Загрузить файл
client.fput_object("my-bucket", "object-name", "/path/to/file")
# Скачать файл
client.fget_object("my-bucket", "object-name", "/tmp/downloaded")
# Список объектов
for obj in client.list_objects("my-bucket", recursive=True):
print(obj.object_name)
Интеграция с другими аддонами
MinIO автоматически используется при включении:
addon_loki: true— S3 backend для логовaddon_velero: true— S3 backend для бэкапов кластераaddon_csi_s3: true— S3 как PVCaddon_databasus: true— S3 для бэкапов БД
Официальные ресурсы
- Официальный сайт: https://min.io/
- Официальная документация: https://min.io/docs/
- Версии Helm chart / ПО: https://artifacthub.io/packages/helm/bitnami/minio