赞
踩
本系列是flink源码分析的第二个系列,上一个《flink源码分析之集群与资源》分析集群与资源,本系列分析功能组件,kubeclient,rpc,心跳,高可用,slotpool,rest,metrics,future。其中kubeclient上一个系列介绍过,为了系列完整性,这里“copy”一下。
kubeclient是flink面向应用的fabric8 kubeclient的封装,本节分析flink如何封装kubeclient,核心组件是装饰器,资源和ServiceType,kubeclient在flink的应用主要是构建master组件的k8s部署规格,提交到k8s,下面通过分析创建master组件(createMasterComponent)解释kubeclient组件原理及使用
下面分析几个作业管理组件重要的容器装饰器
读入配置属性,设置pod的容器
装饰器实现了pod装饰,装饰主容器,设置shell执行命令
设置执行脚本KUBERNETES_JOB_MANAGER_SCRIPT_PATH = "kubernetes-jobmanager.sh"
deploymentTarget kubernetes-session或kubernetes-application
装饰器构建k8s Service对象
读入ServiceType,flink对应k8s Service的抽象类,实现buildUpExternalRestService方法,构建k8s Service
两个装饰器功能相同,构建ConfigMap,非主容器作为存储卷,主容器挂载存储卷
3. Resource是k8s资源的简单封装;ServiceType是 k8s Service对象的构建器基类
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。