flink kubeclient是面向flink应用的fabric8 kubeclient的封装,本文分析flink如何封装kubeclient,核心组件是装饰器,资源和ServiceType,下面通过分析业务创建作业管理器组件(createJobManagerComponent)了解flink kubeclient
1 场景
2 新建作业管理器组件
1. KubernetesJobManagerFactory构建KubernetesJobManagerSpecification
2. KubernetesJobManagerSpecification有两属性Deployment和accompanyingResources,前者Deployment是k8s资源对象,后者是类型是List<HasMetadata>,用来管理发布的控制器,详情可参考k8s文档;accompanyingResources定义k8s资源对象,如 ConfigMap,Service等
3. KubernetesStepDecorator装饰器,装饰器列表实现责任链模式,装饰模板构建的FlinkPod,包括主容器和其他容器,增加其特性,用户使