- 使用编译好的azkaban 3.84.4版本建立镜像,镜像通过args参数控制启动exe还是web
- azkaban的配置文件和用户文件引入configmap,方便修改配置
- 默认建立1个mysql,1个exe执行节点(statefulset),1个web节点
- exe节点可以自动激活和反激活,方便进行伸缩管理(这个服务很适合配置为自动动态伸缩,我没有去实现)
- 密码存入secret文件
- azkaban节点的数据库连接信息通过ENV环境变量引入
- 因为我的k8s是单node环境,所以mysql服务的地址直接使用了service-name
限于篇幅,代码这里就不贴了,请移步github查看
https://github.com/justong86/azkaban-on-k8s
建立镜像
cd dockerfile
docker build -t localhost:32000/azkaban:t3 .
docker push localhost:32000/azkaban:t3
按需创建namespace
kubectl apply -f namespace.yaml
MYSQL数据库
- 修改secret.yaml文件,保存数据库密码
eg. echo -n "123456"| base64
-