NOTE: This plugin is still in development and is not ready for production use.
This plugin allows you to deploy nodestream on a Kubernete cluster. As your project evolves by adding more data pipelines, nodstream-plugin-k8s will be able to manage your kubernetes resources for you.
pip install nodestream-plugin-k8s# nodestream.yaml
scopes:
crons:
pipelines:
- path: pipelines/crons/my_scheduled_pipeline.yaml
perpetual:
pipelines:
- path: pipelines/perpetual/my_kafka_pipeline.yaml# nodestream.yaml
scopes:
crons:
pipelines:
- path: pipelines/crons/my_scheduled_pipeline.yaml
annotations:
nodestream_plugin_k8s_schedule: "0 0 * * *"
perpetual:
pipelines:
- path: pipelines/perpetual/my_kafka_pipeline.yaml
annotations:
nodestream_plugin_k8s_conccurency: 1nodestream k8s sync --namespace my-nodestream-app-namespace kubectl get cronjobs -n my-nodestream-app-namespace
kubectl get deployments -n my-nodestream-app-namespace# nodestream.yaml
scopes:
crons:
pipelines:
- path: pipelines/crons/my_scheduled_pipeline.yaml
annotations:
nodestream_plugin_k8s_schedule: "30 0 * * *"
perpetual:
pipelines:
- path: pipelines/perpetual/my_kafka_pipeline.yaml
annotations:
nodestream_plugin_k8s_conccurency: 100nodestream k8s sync --namespace my-nodestream-app-namespace kubectl get cronjobs -n my-nodestream-app-namespace
kubectl get deployments -n my-nodestream-app-namespacenodestream k8s destroy --namespace my-nodestream-app-namespace This annotation is used to schedule a cronjob. The value of this annotation should be a cron expression.
This annotation is used to set the concurrency of a deployment. The value of this annotation should be an integer.
This annotation is used to set the image of a deployment or job. The value of this annotation should be a valid docker image.