Files
K3S/addons/minio/README.md
Sergey Antropoff 38aaadbfb1 docs: sync addon docs with explicit external/internal service modes
Обновлена документация под новые аддоны (gitlab, redis, mongodb, kafka, kafka-ui, rabbitmq) и новую модель явного выбора зависимостей. Добавлены и унифицированы описания переключателей *_database_mode и *_redis_mode, обновлена таблица зависимостей аддонов, примеры конфигурации и список vault-секретов.
2026-04-29 23:21:04 +03:00

118 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# MinIO
S3-совместимое объектное хранилище. Используется как backend для Loki, Velero, CSI S3 Driver и других аддонов. Поддерживает standalone и distributed режим.
## Быстрый старт
```yaml
# group_vars/all/addons.yml
addon_minio: true
```
Секреты в `vault.yml`:
```yaml
vault_minio_root_user: "admin"
vault_minio_root_password: "secure-password-min-8-chars"
```
```bash
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 (одна нода)
```yaml
minio_mode: "standalone"
minio_replicas: 1
minio_storage_size: "50Gi"
```
## Включить Ingress
```yaml
minio_ingress_enabled: true
minio_console_ingress_host: "minio.example.com"
minio_api_ingress_host: "s3.example.com"
minio_ingress_tls: true
```
## Использование из приложений
```yaml
# Переменные окружения:
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) — управление
```bash
# Установить 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)
```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 как PVC
- `addon_databasus: true` — S3 для бэкапов БД
## Официальные ресурсы
- Официальный сайт: [https://min.io/](https://min.io/)
- Официальная документация: [https://min.io/docs/](https://min.io/docs/)
- Версии Helm chart / ПО: [https://artifacthub.io/packages/helm/bitnami/minio](https://artifacthub.io/packages/helm/bitnami/minio)