cicd
cicd我使用的是gitlab cicd,runner用的是shell executor。
gitlab.ci
需要事先在instance上安装和配置sbt、docker、git和kubectl,截取一部分ci文件,如下:
1 | stages: |
k8s集成savepoint
checkpoint的目录是/data/flink/backend,savepoint的目录是/data/flink/savepoint。
通过重写command和args实现savepoint启动,
通过preStop钩子函数实现savepoint保存,对是stop不是cancel,cancel就交给k8s的api service去做就好了。
jobmanager和taskmanager文件,如下:
jobmanager-deployment.yaml
1 | apiVersion: apps/v1 |
taskmanager-deployment.yaml
1 | apiVersion: apps/v1 |