From 8a50d881cf9a09207bd49fdfe473544e6d87711b Mon Sep 17 00:00:00 2001 From: ConradJam Date: Mon, 14 Oct 2024 09:48:54 +0800 Subject: [PATCH] [hotfix] k8s helm support using the default Kubernetes client configuration. --- .../server/manager/KubernetesOptimizerContainer.java | 10 ++++++++-- charts/amoro/values.yaml | 3 ++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/amoro-ams/src/main/java/org/apache/amoro/server/manager/KubernetesOptimizerContainer.java b/amoro-ams/src/main/java/org/apache/amoro/server/manager/KubernetesOptimizerContainer.java index 3ccb0db3d2..0476c0f3a5 100644 --- a/amoro-ams/src/main/java/org/apache/amoro/server/manager/KubernetesOptimizerContainer.java +++ b/amoro-ams/src/main/java/org/apache/amoro/server/manager/KubernetesOptimizerContainer.java @@ -31,6 +31,7 @@ import io.fabric8.kubernetes.api.model.apps.DeploymentBuilder; import io.fabric8.kubernetes.api.model.apps.DeploymentSpec; import io.fabric8.kubernetes.client.Config; +import io.fabric8.kubernetes.client.ConfigBuilder; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.KubernetesClientBuilder; import org.apache.amoro.resource.Resource; @@ -51,6 +52,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; /** Kubernetes Optimizer Container with Standalone Optimizer */ @@ -77,8 +79,12 @@ public class KubernetesOptimizerContainer extends AbstractResourceContainer { public void init(String name, Map containerProperties) { super.init(name, containerProperties); // start k8s job using k8s client - String kubeConfigPath = checkAndGetProperty(containerProperties, KUBE_CONFIG_PATH); - Config config = Config.fromKubeconfig(getKubeConfigContent(kubeConfigPath)); + Optional kubeConfigPath = + Optional.ofNullable(containerProperties.get(KUBE_CONFIG_PATH)); + Config config = + kubeConfigPath + .map(path -> Config.fromKubeconfig(getKubeConfigContent(path))) + .orElseGet(() -> new ConfigBuilder().build()); this.client = new KubernetesClientBuilder().withConfig(config).build(); } diff --git a/charts/amoro/values.yaml b/charts/amoro/values.yaml index acb4fc1146..9e7681d7f6 100644 --- a/charts/amoro/values.yaml +++ b/charts/amoro/values.yaml @@ -261,7 +261,8 @@ optimizer: enabled: true properties: namespace: "default" - kube-config-path: "~/.kube/config" + # if service account rbac not have, need kube config set in optimizer deployment + #kube-config-path: "~/.kube/config" image: "apache/amoro:latest" pullPolicy: "IfNotPresent" extra: []