Skip to content

Commit 9d9d42c

Browse files
author
陈宇智
committed
[FLINK-36264] fix can't setup rest-service-exposed-type
1 parent d946f3f commit 9d9d42c

File tree

2 files changed

+29
-5
lines changed

2 files changed

+29
-5
lines changed

flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/config/FlinkConfigBuilder.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,8 @@ protected FlinkConfigBuilder applyPodTemplate() throws IOException {
243243

244244
protected FlinkConfigBuilder applyIngressDomain() {
245245
// Web UI
246-
if (spec.getIngress() != null) {
246+
if (spec.getIngress() != null
247+
&& effectiveConfig.getOptional(REST_SERVICE_EXPOSED_TYPE).isEmpty()) {
247248
effectiveConfig.set(
248249
REST_SERVICE_EXPOSED_TYPE,
249250
KubernetesConfigOptions.ServiceExposedType.ClusterIP);

flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/config/FlinkConfigBuilderTest.java

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
import java.util.Collections;
6868
import java.util.List;
6969
import java.util.Map;
70+
import java.util.stream.Stream;
7071

7172
import static org.apache.flink.configuration.DeploymentOptions.SHUTDOWN_ON_APPLICATION_FINISH;
7273
import static org.apache.flink.kubernetes.operator.api.utils.BaseTestUtils.IMAGE;
@@ -381,14 +382,27 @@ private PodTemplateSpec getTmPod(Configuration configuration) throws IOException
381382
PodTemplateSpec.class);
382383
}
383384

384-
@Test
385-
public void testApplyIngressDomain() {
385+
@ParameterizedTest
386+
@MethodSource("serviceExposedTypes")
387+
public void testApplyIngressDomain(
388+
KubernetesConfigOptions.ServiceExposedType serviceExposedType) {
389+
386390
final Configuration configuration =
387-
new FlinkConfigBuilder(flinkDeployment, new Configuration())
391+
new FlinkConfigBuilder(
392+
flinkDeployment,
393+
serviceExposedType == null
394+
? new Configuration()
395+
: new Configuration()
396+
.set(
397+
KubernetesConfigOptions
398+
.REST_SERVICE_EXPOSED_TYPE,
399+
serviceExposedType))
388400
.applyIngressDomain()
389401
.build();
390402
assertEquals(
391-
KubernetesConfigOptions.ServiceExposedType.ClusterIP,
403+
serviceExposedType == null
404+
? KubernetesConfigOptions.ServiceExposedType.ClusterIP
405+
: serviceExposedType,
392406
configuration.get(KubernetesConfigOptions.REST_SERVICE_EXPOSED_TYPE));
393407
}
394408

@@ -961,4 +975,13 @@ private PodTemplateSpec createTestPodWithContainers() {
961975
TestUtils.getTestPodTemplate("hostname", List.of(mainContainer, sideCarContainer));
962976
return pod;
963977
}
978+
979+
private static Stream<KubernetesConfigOptions.ServiceExposedType> serviceExposedTypes() {
980+
return Stream.of(
981+
null,
982+
KubernetesConfigOptions.ServiceExposedType.ClusterIP,
983+
KubernetesConfigOptions.ServiceExposedType.LoadBalancer,
984+
KubernetesConfigOptions.ServiceExposedType.Headless_ClusterIP,
985+
KubernetesConfigOptions.ServiceExposedType.NodePort);
986+
}
964987
}

0 commit comments

Comments
 (0)