Class NativeFlinkService
- java.lang.Object
-
- org.apache.flink.kubernetes.operator.service.AbstractFlinkService
-
- org.apache.flink.kubernetes.operator.service.NativeFlinkService
-
- All Implemented Interfaces:
FlinkService
public class NativeFlinkService extends AbstractFlinkService
Implementation ofFlinkServicesubmitting and interacting with Native Kubernetes Flink clusters and jobs.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.flink.kubernetes.operator.service.FlinkService
FlinkService.ScalingResult
-
-
Field Summary
-
Fields inherited from class org.apache.flink.kubernetes.operator.service.AbstractFlinkService
artifactManager, executorService, FIELD_NAME_TOTAL_CPU, FIELD_NAME_TOTAL_MEMORY, kubernetesClient, operatorConfig
-
-
Constructor Summary
Constructors Constructor Description NativeFlinkService(io.fabric8.kubernetes.client.KubernetesClient kubernetesClient, ArtifactManager artifactManager, java.util.concurrent.ExecutorService executorService, FlinkOperatorConfiguration operatorConfig, EventRecorder eventRecorder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcancelJob(org.apache.flink.kubernetes.operator.api.FlinkDeployment deployment, org.apache.flink.kubernetes.operator.api.spec.UpgradeMode upgradeMode, org.apache.flink.configuration.Configuration configuration)protected voiddeleteClusterInternal(io.fabric8.kubernetes.api.model.ObjectMeta meta, org.apache.flink.configuration.Configuration conf, boolean deleteHaData, io.fabric8.kubernetes.api.model.DeletionPropagation deletionPropagation)Delete Flink kubernetes cluster by deleting the kubernetes resources directly.protected voiddeployApplicationCluster(org.apache.flink.kubernetes.operator.api.spec.JobSpec jobSpec, org.apache.flink.configuration.Configuration conf)protected io.fabric8.kubernetes.api.model.PodListgetJmPodList(java.lang.String namespace, java.lang.String clusterId)protected io.fabric8.kubernetes.api.model.PodListgetTmPodList(java.lang.String namespace, java.lang.String clusterId)protected java.util.Map<org.apache.flink.runtime.jobgraph.JobVertexID,org.apache.flink.runtime.jobgraph.JobVertexResourceRequirements>getVertexResources(org.apache.flink.client.program.rest.RestClusterClient<java.lang.String> client, org.apache.flink.kubernetes.operator.api.AbstractFlinkResource<?,?> resource)FlinkService.ScalingResultscale(FlinkResourceContext<?> ctx, org.apache.flink.configuration.Configuration deployConfig)booleanscalingCompleted(FlinkResourceContext<?> ctx)protected voidsubmitClusterInternal(org.apache.flink.configuration.Configuration conf)voidsubmitSessionCluster(org.apache.flink.configuration.Configuration conf)protected voidupdateVertexResources(org.apache.flink.client.program.rest.RestClusterClient<java.lang.String> client, org.apache.flink.kubernetes.operator.api.AbstractFlinkResource<?,?> resource, java.util.Map<org.apache.flink.runtime.jobgraph.JobVertexID,org.apache.flink.runtime.jobgraph.JobVertexResourceRequirements> newReqs)-
Methods inherited from class org.apache.flink.kubernetes.operator.service.AbstractFlinkService
cancelJob, cancelSessionJob, deleteClusterDeployment, deleteHAData, disposeSavepoint, fetchCheckpointInfo, fetchSavepointInfo, getCheckpointInfo, getClusterClient, getClusterInfo, getEffectiveStatus, getJmPodList, getJobDetailsInfo, getKubernetesClient, getLastCheckpoint, getMetrics, getRestClient, isHaMetadataAvailable, isJobManagerPortReady, listJobs, removeOperatorConfigs, requestJobResult, runJar, submitApplicationCluster, submitJobToSessionCluster, triggerCheckpoint, triggerSavepoint, updateStatusAfterClusterDeletion, uploadJar, waitForClusterShutdown
-
-
-
-
Constructor Detail
-
NativeFlinkService
public NativeFlinkService(io.fabric8.kubernetes.client.KubernetesClient kubernetesClient, ArtifactManager artifactManager, java.util.concurrent.ExecutorService executorService, FlinkOperatorConfiguration operatorConfig, EventRecorder eventRecorder)
-
-
Method Detail
-
deployApplicationCluster
protected void deployApplicationCluster(org.apache.flink.kubernetes.operator.api.spec.JobSpec jobSpec, org.apache.flink.configuration.Configuration conf) throws java.lang.Exception- Specified by:
deployApplicationClusterin classAbstractFlinkService- Throws:
java.lang.Exception
-
submitSessionCluster
public void submitSessionCluster(org.apache.flink.configuration.Configuration conf) throws java.lang.Exception- Throws:
java.lang.Exception
-
cancelJob
public void cancelJob(org.apache.flink.kubernetes.operator.api.FlinkDeployment deployment, org.apache.flink.kubernetes.operator.api.spec.UpgradeMode upgradeMode, org.apache.flink.configuration.Configuration configuration) throws java.lang.Exception- Throws:
java.lang.Exception
-
getJmPodList
protected io.fabric8.kubernetes.api.model.PodList getJmPodList(java.lang.String namespace, java.lang.String clusterId)- Specified by:
getJmPodListin classAbstractFlinkService
-
getTmPodList
protected io.fabric8.kubernetes.api.model.PodList getTmPodList(java.lang.String namespace, java.lang.String clusterId)- Specified by:
getTmPodListin classAbstractFlinkService
-
submitClusterInternal
protected void submitClusterInternal(org.apache.flink.configuration.Configuration conf) throws java.lang.Exception- Throws:
java.lang.Exception
-
deleteClusterInternal
protected void deleteClusterInternal(io.fabric8.kubernetes.api.model.ObjectMeta meta, org.apache.flink.configuration.Configuration conf, boolean deleteHaData, io.fabric8.kubernetes.api.model.DeletionPropagation deletionPropagation)Description copied from class:AbstractFlinkServiceDelete Flink kubernetes cluster by deleting the kubernetes resources directly. Optionally allows deleting the native kubernetes HA resources as well.- Specified by:
deleteClusterInternalin classAbstractFlinkService- Parameters:
meta- ObjectMeta of the deploymentconf- Configuration of the Flink applicationdeleteHaData- Flag to indicate whether k8s or Zookeeper HA metadata should be removed as welldeletionPropagation- Resource deletion propagation policy
-
scale
public FlinkService.ScalingResult scale(FlinkResourceContext<?> ctx, org.apache.flink.configuration.Configuration deployConfig) throws java.lang.Exception
- Throws:
java.lang.Exception
-
updateVertexResources
@VisibleForTesting protected void updateVertexResources(org.apache.flink.client.program.rest.RestClusterClient<java.lang.String> client, org.apache.flink.kubernetes.operator.api.AbstractFlinkResource<?,?> resource, java.util.Map<org.apache.flink.runtime.jobgraph.JobVertexID,org.apache.flink.runtime.jobgraph.JobVertexResourceRequirements> newReqs) throws java.lang.Exception- Throws:
java.lang.Exception
-
getVertexResources
@VisibleForTesting protected java.util.Map<org.apache.flink.runtime.jobgraph.JobVertexID,org.apache.flink.runtime.jobgraph.JobVertexResourceRequirements> getVertexResources(org.apache.flink.client.program.rest.RestClusterClient<java.lang.String> client, org.apache.flink.kubernetes.operator.api.AbstractFlinkResource<?,?> resource) throws java.lang.Exception- Throws:
java.lang.Exception
-
scalingCompleted
public boolean scalingCompleted(FlinkResourceContext<?> ctx)
-
-