Обновлена документация под новые аддоны (gitlab, redis, mongodb, kafka, kafka-ui, rabbitmq) и новую модель явного выбора зависимостей. Добавлены и унифицированы описания переключателей *_database_mode и *_redis_mode, обновлена таблица зависимостей аддонов, примеры конфигурации и список vault-секретов.
118 lines
3.2 KiB
Markdown
118 lines
3.2 KiB
Markdown
# 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)
|