Class ApplicationReconciler
- java.lang.Object
-
- org.apache.flink.kubernetes.operator.reconciler.deployment.AbstractFlinkResourceReconciler<CR,SPEC,STATUS>
-
- org.apache.flink.kubernetes.operator.reconciler.deployment.AbstractJobReconciler<FlinkDeployment,FlinkDeploymentSpec,FlinkDeploymentStatus>
-
- org.apache.flink.kubernetes.operator.reconciler.deployment.ApplicationReconciler
-
- All Implemented Interfaces:
Reconciler<FlinkDeployment>
public class ApplicationReconciler extends AbstractJobReconciler<FlinkDeployment,FlinkDeploymentSpec,FlinkDeploymentStatus>
Reconciler Flink Application deployments.
-
-
Field Summary
-
Fields inherited from class org.apache.flink.kubernetes.operator.reconciler.deployment.AbstractFlinkResourceReconciler
configManager, eventRecorder, flinkService, kubernetesClient, MSG_ROLLBACK, MSG_SPEC_CHANGED, MSG_SUBMIT, MSG_SUSPENDED, statusRecorder
-
-
Constructor Summary
Constructors Constructor Description ApplicationReconciler(io.fabric8.kubernetes.client.KubernetesClient kubernetesClient, FlinkService flinkService, FlinkConfigManager configManager, EventRecorder eventRecorder, StatusRecorder<FlinkDeploymentStatus> statusRecorder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcancelJob(FlinkDeployment deployment, UpgradeMode upgradeMode, org.apache.flink.configuration.Configuration observeConfig)Cancel the job for the given resource using the specified upgrade mode.protected io.javaoperatorsdk.operator.api.reconciler.DeleteControlcleanupInternal(FlinkDeployment deployment, io.javaoperatorsdk.operator.api.reconciler.Context context)Shut down and clean up all Flink job/cluster resources.protected voiddeploy(FlinkDeployment relatedResource, FlinkDeploymentSpec spec, FlinkDeploymentStatus status, org.apache.flink.configuration.Configuration deployConfig, java.util.Optional<java.lang.String> savepoint, boolean requireHaMetadata)Deploys the target resource spec to Kubernetes.protected java.util.Optional<UpgradeMode>getAvailableUpgradeMode(FlinkDeployment deployment, org.apache.flink.configuration.Configuration deployConfig, org.apache.flink.configuration.Configuration observeConfig)protected org.apache.flink.configuration.ConfigurationgetDeployConfig(io.fabric8.kubernetes.api.model.ObjectMeta deployMeta, FlinkDeploymentSpec currentDeploySpec, io.javaoperatorsdk.operator.api.reconciler.Context context)Get Flink configuration object for deploying the given spec usingAbstractFlinkResourceReconciler.deploy(CR, SPEC, STATUS, org.apache.flink.configuration.Configuration, java.util.Optional<java.lang.String>, boolean).protected org.apache.flink.configuration.ConfigurationgetObserveConfig(FlinkDeployment deployment, io.javaoperatorsdk.operator.api.reconciler.Context context)Get Flink configuration for client interactions with the running Flink deployment/session job.booleanreconcileOtherChanges(FlinkDeployment deployment, org.apache.flink.configuration.Configuration observeConfig)Reconcile any other changes required for this resource that are specific to the reconciler implementation.-
Methods inherited from class org.apache.flink.kubernetes.operator.reconciler.deployment.AbstractJobReconciler
readyToReconcile, reconcileSpecChange, restoreJob, rollback
-
Methods inherited from class org.apache.flink.kubernetes.operator.reconciler.deployment.AbstractFlinkResourceReconciler
cleanup, flinkVersionChanged, reconcile, shouldRecoverDeployment
-
-
-
-
Constructor Detail
-
ApplicationReconciler
public ApplicationReconciler(io.fabric8.kubernetes.client.KubernetesClient kubernetesClient, FlinkService flinkService, FlinkConfigManager configManager, EventRecorder eventRecorder, StatusRecorder<FlinkDeploymentStatus> statusRecorder)
-
-
Method Detail
-
getObserveConfig
protected org.apache.flink.configuration.Configuration getObserveConfig(FlinkDeployment deployment, io.javaoperatorsdk.operator.api.reconciler.Context context)
Description copied from class:AbstractFlinkResourceReconcilerGet Flink configuration for client interactions with the running Flink deployment/session job.- Specified by:
getObserveConfigin classAbstractFlinkResourceReconciler<FlinkDeployment,FlinkDeploymentSpec,FlinkDeploymentStatus>- Parameters:
deployment- Related Flink resource.context- Reconciliation context.- Returns:
- Observe configuration.
-
getDeployConfig
protected org.apache.flink.configuration.Configuration getDeployConfig(io.fabric8.kubernetes.api.model.ObjectMeta deployMeta, FlinkDeploymentSpec currentDeploySpec, io.javaoperatorsdk.operator.api.reconciler.Context context)Description copied from class:AbstractFlinkResourceReconcilerGet Flink configuration object for deploying the given spec usingAbstractFlinkResourceReconciler.deploy(CR, SPEC, STATUS, org.apache.flink.configuration.Configuration, java.util.Optional<java.lang.String>, boolean).- Specified by:
getDeployConfigin classAbstractFlinkResourceReconciler<FlinkDeployment,FlinkDeploymentSpec,FlinkDeploymentStatus>- Parameters:
deployMeta- ObjectMeta of the related resource.currentDeploySpec- Spec for which the config should be created.context- Reconciliation context.- Returns:
- Deployment configuration.
-
getAvailableUpgradeMode
protected java.util.Optional<UpgradeMode> getAvailableUpgradeMode(FlinkDeployment deployment, org.apache.flink.configuration.Configuration deployConfig, org.apache.flink.configuration.Configuration observeConfig)
- Overrides:
getAvailableUpgradeModein classAbstractJobReconciler<FlinkDeployment,FlinkDeploymentSpec,FlinkDeploymentStatus>
-
deploy
protected void deploy(FlinkDeployment relatedResource, FlinkDeploymentSpec spec, FlinkDeploymentStatus status, org.apache.flink.configuration.Configuration deployConfig, java.util.Optional<java.lang.String> savepoint, boolean requireHaMetadata) throws java.lang.Exception
Description copied from class:AbstractFlinkResourceReconcilerDeploys the target resource spec to Kubernetes.- Specified by:
deployin classAbstractFlinkResourceReconciler<FlinkDeployment,FlinkDeploymentSpec,FlinkDeploymentStatus>- Parameters:
relatedResource- Related resource.spec- Spec that should be deployed to Kubernetes.status- Status object of the resourcedeployConfig- Flink conf for the deployment.savepoint- Optional savepoint path for applications and session jobs.requireHaMetadata- Flag used by application deployments to validate HA metadata- Throws:
java.lang.Exception- Error during deployment.
-
cancelJob
protected void cancelJob(FlinkDeployment deployment, UpgradeMode upgradeMode, org.apache.flink.configuration.Configuration observeConfig) throws java.lang.Exception
Description copied from class:AbstractJobReconcilerCancel the job for the given resource using the specified upgrade mode.- Specified by:
cancelJobin classAbstractJobReconciler<FlinkDeployment,FlinkDeploymentSpec,FlinkDeploymentStatus>- Parameters:
deployment- Related Flink resource.upgradeMode- Upgrade mode used during cancel.observeConfig- Observe configuration.- Throws:
java.lang.Exception- Error during cancellation.
-
reconcileOtherChanges
public boolean reconcileOtherChanges(FlinkDeployment deployment, org.apache.flink.configuration.Configuration observeConfig) throws java.lang.Exception
Description copied from class:AbstractFlinkResourceReconcilerReconcile any other changes required for this resource that are specific to the reconciler implementation.- Overrides:
reconcileOtherChangesin classAbstractJobReconciler<FlinkDeployment,FlinkDeploymentSpec,FlinkDeploymentStatus>- Parameters:
deployment- Related Flink resource.observeConfig- Observe configuration.- Returns:
- True if any further reconciliation action was taken.
- Throws:
java.lang.Exception- Error during reconciliation.
-
cleanupInternal
protected io.javaoperatorsdk.operator.api.reconciler.DeleteControl cleanupInternal(FlinkDeployment deployment, io.javaoperatorsdk.operator.api.reconciler.Context context)
Description copied from class:AbstractFlinkResourceReconcilerShut down and clean up all Flink job/cluster resources.- Specified by:
cleanupInternalin classAbstractFlinkResourceReconciler<FlinkDeployment,FlinkDeploymentSpec,FlinkDeploymentStatus>- Parameters:
deployment- Resource being reconciled.context- Current context.- Returns:
- DeleteControl object.
-
-