Krzysztof Chmielewski
08/22/2023, 12:27 PMFlinkSessionJobSpec object but not sure how to submit it, what API should be called.Krzysztof Chmielewski
08/22/2023, 12:28 PMKubernetesClient instanceAhmed Hamdy
08/22/2023, 1:31 PMKrzysztof Chmielewski
08/22/2023, 4:14 PM@Test
public void submitSessionJob() {
JobSpec jobSpec = JobSpec.builder()
.jarURI(
"local:///opt/flink/examples/streaming/StateMachineExample.jar")
.parallelism(2)
.upgradeMode(UpgradeMode.STATELESS)
.build();
FlinkSessionJobSpec sessionJobSpec = FlinkSessionJobSpec.builder()
.job(jobSpec)
.deploymentName("basic-session-deployment-only-example")
.build();
FlinkSessionJob flinkSessionJob = new FlinkSessionJob();
flinkSessionJob.setKind("FlinkSessionJob");
flinkSessionJob.setApiVersion("<http://flink.apache.org/v1beta1|flink.apache.org/v1beta1>");
ObjectMeta meta = new ObjectMeta();
meta.setNamespace("default");
meta.setName("basic-session-job-only-example");
flinkSessionJob.setMetadata(meta);
flinkSessionJob.setSpec(sessionJobSpec);
try (KubernetesClient kubernetesClient = new KubernetesClientBuilder().build()) {
kubernetesClient.resource(flinkSessionJob).create();
}
}
That ran without any exceptions but Job was not submitted to the session cluster.
When I called kubectl get FlinkSessionJob I got this:
kristoff@LAPTOP-6V16VCBI:~/flinkK8sPoc$ kubectl get FlinkSessionJob
NAME JOB STATUS LIFECYCLE STATE
basic-session-job-only-example RECONCILING STABLEAhmed Hamdy
08/22/2023, 4:45 PM