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 Modifier and Type Field Description protected FlinkService
flinkService
-
Fields inherited from class org.apache.flink.kubernetes.operator.reconciler.deployment.AbstractFlinkResourceReconciler
clock, configManager, eventRecorder, 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<FlinkDeployment,FlinkDeploymentStatus> statusRecorder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
cancelJob(FlinkDeployment deployment, io.javaoperatorsdk.operator.api.reconciler.Context<?> ctx, UpgradeMode upgradeMode, org.apache.flink.configuration.Configuration observeConfig)
Cancel the job for the given resource using the specified upgrade mode.protected void
cleanupAfterFailedJob(FlinkDeployment deployment, io.javaoperatorsdk.operator.api.reconciler.Context<?> ctx, org.apache.flink.configuration.Configuration observeConfig)
Removes a failed job.protected io.javaoperatorsdk.operator.api.reconciler.DeleteControl
cleanupInternal(FlinkDeployment deployment, io.javaoperatorsdk.operator.api.reconciler.Context<?> context)
Shut down and clean up all Flink job/cluster resources.protected void
deploy(FlinkDeployment relatedResource, FlinkDeploymentSpec spec, FlinkDeploymentStatus status, io.javaoperatorsdk.operator.api.reconciler.Context<?> ctx, 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, io.javaoperatorsdk.operator.api.reconciler.Context<?> ctx, org.apache.flink.configuration.Configuration deployConfig, org.apache.flink.configuration.Configuration observeConfig)
protected org.apache.flink.configuration.Configuration
getDeployConfig(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, io.javaoperatorsdk.operator.api.reconciler.Context<?>, org.apache.flink.configuration.Configuration, java.util.Optional<java.lang.String>, boolean)
.protected FlinkService
getFlinkService(FlinkDeployment resource, io.javaoperatorsdk.operator.api.reconciler.Context<?> context)
Get the Flink service related to the resource and context.protected org.apache.flink.configuration.Configuration
getObserveConfig(FlinkDeployment deployment, io.javaoperatorsdk.operator.api.reconciler.Context<?> context)
Get Flink configuration for client interactions with the running Flink deployment/session job.boolean
reconcileOtherChanges(FlinkDeployment deployment, io.javaoperatorsdk.operator.api.reconciler.Context<?> ctx, 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, resubmitJob, rollback
-
Methods inherited from class org.apache.flink.kubernetes.operator.reconciler.deployment.AbstractFlinkResourceReconciler
cleanup, flinkVersionChanged, reconcile, setClock, setOwnerReference, shouldRecoverDeployment
-
-
-
-
Field Detail
-
flinkService
protected final FlinkService flinkService
-
-
Constructor Detail
-
ApplicationReconciler
public ApplicationReconciler(io.fabric8.kubernetes.client.KubernetesClient kubernetesClient, FlinkService flinkService, FlinkConfigManager configManager, EventRecorder eventRecorder, StatusRecorder<FlinkDeployment,FlinkDeploymentStatus> statusRecorder)
-
-
Method Detail
-
getFlinkService
protected FlinkService getFlinkService(FlinkDeployment resource, io.javaoperatorsdk.operator.api.reconciler.Context<?> context)
Description copied from class:AbstractFlinkResourceReconciler
Get the Flink service related to the resource and context.- Specified by:
getFlinkService
in classAbstractFlinkResourceReconciler<FlinkDeployment,FlinkDeploymentSpec,FlinkDeploymentStatus>
- Parameters:
resource
- Resource being reconciled.context
- Current context.- Returns:
- Flink service implementation.
-
getObserveConfig
protected org.apache.flink.configuration.Configuration getObserveConfig(FlinkDeployment deployment, io.javaoperatorsdk.operator.api.reconciler.Context<?> context)
Description copied from class:AbstractFlinkResourceReconciler
Get Flink configuration for client interactions with the running Flink deployment/session job.- Specified by:
getObserveConfig
in 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:AbstractFlinkResourceReconciler
Get Flink configuration object for deploying the given spec usingAbstractFlinkResourceReconciler.deploy(CR, SPEC, STATUS, io.javaoperatorsdk.operator.api.reconciler.Context<?>, org.apache.flink.configuration.Configuration, java.util.Optional<java.lang.String>, boolean)
.- Specified by:
getDeployConfig
in 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, io.javaoperatorsdk.operator.api.reconciler.Context<?> ctx, org.apache.flink.configuration.Configuration deployConfig, org.apache.flink.configuration.Configuration observeConfig)
- Overrides:
getAvailableUpgradeMode
in classAbstractJobReconciler<FlinkDeployment,FlinkDeploymentSpec,FlinkDeploymentStatus>
-
deploy
protected void deploy(FlinkDeployment relatedResource, FlinkDeploymentSpec spec, FlinkDeploymentStatus status, io.javaoperatorsdk.operator.api.reconciler.Context<?> ctx, org.apache.flink.configuration.Configuration deployConfig, java.util.Optional<java.lang.String> savepoint, boolean requireHaMetadata) throws java.lang.Exception
Description copied from class:AbstractFlinkResourceReconciler
Deploys the target resource spec to Kubernetes.- Specified by:
deploy
in classAbstractFlinkResourceReconciler<FlinkDeployment,FlinkDeploymentSpec,FlinkDeploymentStatus>
- Parameters:
relatedResource
- Related resource.spec
- Spec that should be deployed to Kubernetes.status
- Status object of the resourcectx
- Reconciliation context.deployConfig
- 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, io.javaoperatorsdk.operator.api.reconciler.Context<?> ctx, UpgradeMode upgradeMode, org.apache.flink.configuration.Configuration observeConfig) throws java.lang.Exception
Description copied from class:AbstractJobReconciler
Cancel the job for the given resource using the specified upgrade mode.- Specified by:
cancelJob
in 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.
-
cleanupAfterFailedJob
protected void cleanupAfterFailedJob(FlinkDeployment deployment, io.javaoperatorsdk.operator.api.reconciler.Context<?> ctx, org.apache.flink.configuration.Configuration observeConfig)
Description copied from class:AbstractJobReconciler
Removes a failed job.- Specified by:
cleanupAfterFailedJob
in classAbstractJobReconciler<FlinkDeployment,FlinkDeploymentSpec,FlinkDeploymentStatus>
- Parameters:
deployment
- The failed job.observeConfig
- Observe configuration.
-
reconcileOtherChanges
public boolean reconcileOtherChanges(FlinkDeployment deployment, io.javaoperatorsdk.operator.api.reconciler.Context<?> ctx, org.apache.flink.configuration.Configuration observeConfig) throws java.lang.Exception
Description copied from class:AbstractFlinkResourceReconciler
Reconcile any other changes required for this resource that are specific to the reconciler implementation.- Overrides:
reconcileOtherChanges
in 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:AbstractFlinkResourceReconciler
Shut down and clean up all Flink job/cluster resources.- Specified by:
cleanupInternal
in classAbstractFlinkResourceReconciler<FlinkDeployment,FlinkDeploymentSpec,FlinkDeploymentStatus>
- Parameters:
deployment
- Resource being reconciled.context
- Current context.- Returns:
- DeleteControl object.
-
-