DataFlow
DataFlow — namespaced CRD (dataflows, kind DataFlow, group dataflow.dataflow.io) для непрерывных конвейеров данных. Оператор приводит каждый ресурс к Deployment с процессором, пока вы не удалите DataFlow.
Что делает
Вы объявляете источник, трансформации и приёмник. Оператор:
- Подставляет значения
SecretRefиз Kubernetes Secrets. - Записывает resolved spec в ConfigMap.
- Создаёт или обновляет Deployment с подом процессора.
- Отражает состояние Deployment в
DataFlow.status.
Процессор выполняет тот же конвейер, что и у DataFlowCron: чтение → трансформация → запись (плюс опциональный error sink).
Когда использовать
| Сценарий | DataFlow | DataFlowCron |
|---|---|---|
| Consumer Kafka, always on | ✓ | |
| Репликация в реальном времени | ✓ | |
| Ночная выгрузка таблицы | ✓ | |
| Почасовой batch + webhook после успеха | ✓ |
См. Типы нагрузки.
Запуск по расписанию
Для cron и пост-triggers используйте DataFlowCron.
API
| Параметр | Значение |
|---|---|
| API group | dataflow.dataflow.io |
| Resource | dataflows |
| Kind | DataFlow |
| Scope | Namespaced |
Разделы документации
Минимальный пример
apiVersion: dataflow.dataflow.io/v1
kind: DataFlow
metadata:
name: kafka-to-postgres
spec:
source:
type: kafka
config:
brokers: [kafka:9092]
topic: input-topic
consumerGroup: dataflow-group
sink:
type: postgresql
config:
connectionString: "postgres://user:pass@postgres:5432/db?sslmode=disable"
table: output_table
autoCreateTable: true