自定义资源-flinkDeployment参考

这里展示flinkDeployment的全部自定义参数,仅供参考。

flinkDeployment

org.apache.flink.kubernetes.operator.crd.FlinkDeployment
描述:表示应用(application)和会话 (session)deployments的自定义资源

参数 类型 描述
spec org.apache.flink.kubernetes.operator.crd.spec.FlinkDeploymentSpec flink应用或者会话集群deployment的规范
status org.apache.flink.kubernetes.operator.crd.status.FlinkDeploymentStatus flink deployment最新的状态

spec

flinkDeploymentSpec

:org.apache.flink.kubernetes.operator.api.spec.FlinkDeploymentSpec
描述:描述Flink应用程序或会话集群部署的规范
主要字段如下:

参数 类型 描述
job org.apache.flink.kubernetes.operator.api.spec.JobSpec(自定义jobSpec类型) job应用/session job的规约,session 集群该字段为空
restartNonce java.lang.Long(int64,长整型) 用于手动触发session/cluster job的重建。目标值和当前值不一致就会触发重建。
flinkConfiguration java.util.Map<java.lang.String,java.lang.String>(map,字典类型) flink配置参数,将会覆盖flink deployment或flink session job中的参数
image java.lang.String(string,字符串) flink用于启动job和taskManager pods的容器镜像
imagePullPolicy java.lang.String(string,字符串) flink容器镜像的拉取策略
serviceAccount java.lang.String(string,字符串) flinkDeployment使用的k8s sa
flinkVersion org.apache.flink.kubernetes.operator.api.spec.FlinkVersion flink的镜像版本
ingress org.apache.flink.kubernetes.operator.api.spec.IngressSpec ingress规约
podTemplate io.fabric8.kubernetes.api.model.Pod flinkDeployment的pod模板可用于job和task manager pods,也可以被jobManager和taskManager中的pod模板覆盖
jobManager org.apache.flink.kubernetes.operator.api.spec.JobManagerSpec jobManager的规约
taskManager org.apache.flink.kubernetes.operator.api.spec.TaskManagerSpec taskManager的规约
logConfiguration java.util.Map<java.lang.String,java.lang.String>(map,字典类型) 日志配置,会覆盖flinkDeployment的日志配置。格式化日志配置文件名称->配置上下文
mode org.apache.flink.kubernetes.operator.api.spec.KubernetesDeploymentMode flink集群的部署模式,native或standalone

flinkSessionJobSpec

:org.apache.flink.kubernetes.operator.api.spec.FlinkSessionJobSpec
描述:flink session job的规范
主要参数如下:

参数 类型 描述
job org.apache.flink.kubernetes.operator.api.spec.JobSpec job应用/session job的规约,session 集群该字段为空
restartNonce java.lang.Long(int64,长整型) 用于手动触发session/cluster job的重建。目标值和当前值不一致就会触发重建。
flinkConfiguration java.util.Map<java.lang.String,java.lang.String>(map,字典) flink配置参数,将会覆盖flink deployment或flink session job中的参数
deploymentName java.lang.String(string,字符串) 目标会话集群(session cluster)的名称

FlinkVersion

:org.apache.flink.kubernetes.operator.api.spec.FlinkVersion
描述:枚举类型,会枚举支持的flink版本

该字段的值 描述
v1_13 flink 1.13
v1_14 flink 1.14
v1_15 flink 1.15
v1_16 flink 1.16
v1_17 flink 1.17
v1_18 flink 1.18

ingressSpec

: org.apache.flink.kubernetes.operator.api.spec.IngressSpec
描述: Ingress 规约

参数 类型 描述
template java.lang.String(string,字符串) JobManager服务的Ingress模板
className java.lang.String(string,字符串) Flink deployment的Ingress 类名
annotations java.util.Map<java.lang.String,java.lang.String>(map,字典) Ingress的annotations.

JobManagerSpec

: org.apache.flink.kubernetes.operator.api.spec.JobManagerSpec
描述: JobManager 规约

参数 类型 描述
resource org.apache.flink.kubernetes.operator.api.spec.Resource JobManager pod的资源定义
replicas int JobManager 的副本数,非HA模式必须为1
podTemplate io.fabric8.kubernetes.api.model.Pod JobManager pod模板. 该字段会和FlinkDeploymentSpec中的pod模板一期合并

JobSpec

: org.apache.flink.kubernetes.operator.api.spec.JobSpec
描述: Flink job spec.

参数 类型 描述
jarURI java.lang.String(string, 字符串) Flink docker容器中作业jar的可选URI。For example: local:///opt/flink/examples/streaming/StateMachineExample.jar. 如果该字段未设置,则使用系统中设置的路径。
parallelism int Flink job的并行度
entryClass java.lang.String(string, 字符串) Flink job的完全限定主类名
args java.lang.String[]([]string,字符串切片) Flink job主类的参数
state org.apache.flink.kubernetes.operator.api.spec.JobState job 预期的状态,字段为running和suspended
savepointTriggerNonce java.lang.Long(int64,长整型) 对正在运行的job触发一次手动savepoint。只需要修改的内容与当前值不一致即可自动触发savepoint
initialSavepointPath java.lang.String(string, 字符串) 指定job首次部署的savepoint路径,该参数只生效一次,不会影响后续升级和重新部署
upgradeMode org.apache.flink.kubernetes.operator.api.spec.UpgradeMode Flink job的更新模式,可选字段为stateless, savepoint, last-state
allowNonRestoredState java.lang.Boolean(bool,布尔类型) 是否使用非恢复状态,是否允许在task中将checkpoint状态映射进job?jobAllow checkpoint state that cannot be mapped to any job vertex in tasks.

JobState

: org.apache.flink.kubernetes.operator.api.spec.JobState
描述: 枚举job预期的状态

状态可选字段 描述
running Job正常运行,并且在处理数据
suspended 处理被暂停,打算稍后继续

kubernetesDeploymentMode

: org.apache.flink.kubernetes.operator.api.spec.KubernetesDeploymentMode
描述: 枚举Kubernetes集群上flink部署的模式

可选字段 描述
native 直接使用原生的k8s集群部署flink,也叫原生部署模式,官方默认推荐,目前仅支持比较新的版本(1.13以上)
standalone 以独立模式在k8s集群上部署flink,具有比较高的安全性。

Resource

: org.apache.flink.kubernetes.operator.api.spec.Resource
描述: Resource 字段的规约

参数 类型 描述
cpu java.lang.Double(float64,浮点型) 分配给pod的CPU数量
memory java.lang.String(string,字符串) 分配给pod的内存数量, 例如: 1024m, 1g
ephemeralStorage java.lang.String(string,字符串) 分配给pod的临时存储, 例如: 1024m, 2G

TaskManagerSpec

: org.apache.flink.kubernetes.operator.api.spec.TaskManagerSpec
描述: TaskManager的规约

参数 类型 描述
resource org.apache.flink.kubernetes.operator.api.spec.Resource TaskManager资源定义.
replicas java.lang.Integer(int,整型) TaskManager 的副本数,修改该参数优于修改并行度
podTemplate io.fabric8.kubernetes.api.model.Pod TaskManager pod 模板会和FlinkDeploymentSpec下的podTemplate合并处理

UpgradeMode

: org.apache.flink.kubernetes.operator.api.spec.UpgradeMode
描述: Flink job更新的模式

更新的可选值 描述
savepoint Job首先通过运行的job获取savepoint,之后关闭该任务从savepoint启动
last-state Job从最新可用的checkpoint或savepoint进行升级,比savepoint优先级低
stateless Job从空状态进行升级

status

FlinkDeploymentReconciliationStatus

: org.apache.flink.kubernetes.operator.api.status.FlinkDeploymentReconciliationStatus
描述: flink编译部署的最新状态

参数 类型 描述
reconciliationTimestamp long(int64,长整型) 最后一次成功编译的时间戳
lastReconciledSpec java.lang.String(string,字符串) 最近一次部署的模板,用于数据比对
lastStableSpec java.lang.String 最后一次稳定性部署模板,假如定义了回滚模板,这部分内容就是回滚的对象
state org.apache.flink.kubernetes.operator.api.status.ReconciliationState 最新的部署状态

FlinkDeploymentStatus

: org.apache.flink.kubernetes.operator.api.status.FlinkDeploymentStatus
描述:Flink 部署的最新状态

参数 类型 描述
jobStatus org.apache.flink.kubernetes.operator.api.status.JobStatus Application/Session job集群最后一次的状态
error java.lang.String FlinkDeployment/FlinkSessionJob的报错信息
lifecycleState org.apache.flink.kubernetes.operator.api.lifecycle.ResourceLifecycleState Flink资源的生命周期状态(包括回滚、失败等)
clusterInfo java.util.Map<java.lang.String,java.lang.String> 当前运行集群的信息,比如flink版本信息等
jobManagerDeploymentStatus org.apache.flink.kubernetes.operator.api.status.JobManagerDeploymentStatus 最后一次观察到的JobManager部署状态
reconciliationStatus org.apache.flink.kubernetes.operator.api.status.FlinkDeploymentReconciliationStatus 最新的编译状态
taskManager org.apache.flink.kubernetes.operator.api.status.TaskManagerInfo TaskManagers调度子资源的信息,比如task的副本数等

FlinkSessionJobReconciliationStatus

: org.apache.flink.kubernetes.operator.api.status.FlinkSessionJobReconciliationStatus
描述: flink sessionjob最新编译状态

参数 类型 描述
reconciliationTimestamp long 最新一次编译成功的时间戳
lastReconciledSpec java.lang.String 最新调谐的spec信息,用来做进一步信息比对
lastStableSpec java.lang.String 最后一次稳定性部署模板,假如定义了回滚模板,这部分内容就是回滚的对象
state org.apache.flink.kubernetes.operator.api.status.ReconciliationState 当前spec最近一次调谐的部署状态

FlinkSessionJobStatus

: org.apache.flink.kubernetes.operator.api.status.FlinkSessionJobStatus
描述: Flink Session job 最新观察到的状态

参数 类型 描述
jobStatus org.apache.flink.kubernetes.operator.api.status.JobStatus Application/Session 集群job最新的状态
error java.lang.String FlinkDeployment/FlinkSessionJob的错误信息
lifecycleState org.apache.flink.kubernetes.operator.api.lifecycle.ResourceLifecycleState Flink资源的生命周期状态(包括回滚、失败等)
reconciliationStatus org.apache.flink.kubernetes.operator.api.status.FlinkSessionJobReconciliationStatus 当前spec最近一次调谐的部署状态

JobManagerDeploymentStatus

: org.apache.flink.kubernetes.operator.api.status.JobManagerDeploymentStatus
描述: Flink JobManager在k8s集群上的部署状态

状态内容 描述
READY JobManager正在运行并且随时可以被 REST API 调用
DEPLOYED_NOT_READY JobManager正在运行,但是还不能使用REST API调用
DEPLOYING JobManager进程正在启动
MISSING 找不到JobManager的部署资源,可能是未启动成功也可能是用户删除了当前任务
ERROR 部署错误,需要修改spec来更新发布

JobStatus

: org.apache.flink.kubernetes.operator.api.status.JobStatus
描述: Flink job应用程序部署中的最后一次观察状态

参数 类型 描述
jobName java.lang.String job的名称
jobId java.lang.String job的id
state java.lang.String 最后一次观察到的job的状态
startTime java.lang.String job开始的时间
updateTime java.lang.String job更新的时间
savepointInfo org.apache.flink.kubernetes.operator.api.status.SavepointInfo job最后一次pending和savepoint的信息

ReconciliationState

: org.apache.flink.kubernetes.operator.api.status.ReconciliationState
描述: 当前调谐的状态

状态的内容 描述
DEPLOYED 已经部署字段lastReconciledSpec中的内容
UPGRADING 当前flink正在升级中
ROLLING_BACK 正在回滚到最后一次稳定版本,也就是lastStableSpec中的内容
ROLLED_BACK 已经回滚到lastStableSpec中的状态

Savepoint

: org.apache.flink.kubernetes.operator.api.status.Savepoint
描述: 表示已完成的savepoint信息

参数 类型 描述
timeStamp long savepoint操作开始时的毫秒时间戳
location java.lang.String savepoint的外部指针,用来恢复job
triggerType org.apache.flink.kubernetes.operator.api.status.SavepointTriggerType Savepoint触发机制
formatType org.apache.flink.kubernetes.operator.api.status.SavepointFormatType Savepoint格式化类型
triggerNonce java.lang.Long 手动触发savepoint的随机值

SavepointFormatType

: org.apache.flink.kubernetes.operator.api.status.SavepointFormatType
描述: Savepoint格式化类型

可选内容 描述
CANONICAL 一种规范的,可以用于所有状态的后端格式
NATIVE 一种特定选择的后端格式
UNKNOWN 未知savepoint格式,一般用来标识不是operator触发的格式

SavepointInfo

: org.apache.flink.kubernetes.operator.api.status.SavepointInfo
描述: 存储savepoint相关信息

参数 类型 描述
lastSavepoint org.apache.flink.kubernetes.operator.api.status.Savepoint operator最后一次完成的savepoint
triggerId java.lang.String 挂起的savepoint操作trigger id
triggerTimestamp java.lang.Long 挂起的savepoint操作的触发时间戳
triggerType org.apache.flink.kubernetes.operator.api.status.SavepointTriggerType Savepoint 触发机制
formatType org.apache.flink.kubernetes.operator.api.status.SavepointFormatType Savepoint格式类型
savepointHistory java.util.List<org.apache.flink.kubernetes.operator.api.status.Savepoint> 当前savepoints的历史
lastPeriodicSavepointTimestamp long 最后一次定期savepoint保存执行的时间戳

SavepointTriggerType

: org.apache.flink.kubernetes.operator.api.status.SavepointTriggerType
描述: Savepoint触发机制

可选值 描述
MANUAL 通过修改 savepointTriggerNonce手动触发savepoint
PERIODIC 通过operator定期触发savepoint
UPGRADE 有状态服务更新期间触发的savepoint
UNKNOWN 未知的savepoint触发机制,例如直接从flink job中检索savepoint

TaskManagerInfo

: org.apache.flink.kubernetes.operator.api.status.TaskManagerInfo
描述: 在应用部署期间最后一次观察到的flink job的状态

参数 类型 描述
labelSelector java.lang.String TaskManager的标签选择器
replicas int flinkDeployment中定义的TaskManager replicas副本数
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,919评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,567评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,316评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,294评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,318评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,245评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,120评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,964评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,376评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,592评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,764评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,460评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,070评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,697评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,846评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,819评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,665评论 2 354

推荐阅读更多精彩内容