Hi team, I have some concerns using ClusterIP with Kubernetes Native
Deployment with KubernetesHAServiceFactory for High Availability

It seems that the KubernetesHAServicesFactory taps on the Service of the
the Flink K8S Native Cluster to access the JobManager's availability,
although I have some company-wise policy where Services shouldn't expose
NodePorts unless it's an exceptional case. How do I make the
KubernetesHAServicesFactory reach the cluster through ClusterIP?

I get the following error when running with ClusterIP

java.lang.RuntimeException:
org.apache.flink.client.deployment.ClusterRetrieveException: Could not
create the RestClusterClient.

        at
org.apache.flink.kubernetes.KubernetesClusterDescriptor.lambda$createClusterClientProvider$0(KubernetesClusterDescriptor.java:122)

        at
org.apache.flink.kubernetes.KubernetesClusterDescriptor.deploySessionCluster(KubernetesClusterDescriptor.java:151)

        at
org.apache.flink.kubernetes.cli.KubernetesSessionCli.run(KubernetesSessionCli.java:114)

        at
org.apache.flink.kubernetes.cli.KubernetesSessionCli.lambda$main$0(KubernetesSessionCli.java:198)

        at
org.apache.flink.runtime.security.contexts.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:28)

        at
org.apache.flink.kubernetes.cli.KubernetesSessionCli.main(KubernetesSessionCli.java:198)

Caused by: org.apache.flink.client.deployment.ClusterRetrieveException:
Could not create the RestClusterClient.

        ... 6 more

Caused by: java.net.UnknownHostException: scrat-session-rest.scrat: Name or
service not known

        at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)

        at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929)

        at
java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1324)

        at java.net.InetAddress.getAllByName0(InetAddress.java:1277)

        at java.net.InetAddress.getAllByName(InetAddress.java:1193)

        at java.net.InetAddress.getAllByName(InetAddress.java:1127)

        at java.net.InetAddress.getByName(InetAddress.java:1077)

        at
org.apache.flink.runtime.highavailability.HighAvailabilityServicesUtils.getWebMonitorAddress(HighAvailabilityServicesUtils.java:204)

        at
org.apache.flink.kubernetes.KubernetesClusterDescriptor.lambda$createClusterClientProvider$0(KubernetesClusterDescriptor.java:116)

        ... 5 more

Reply via email to