自定义资源-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副本数
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容