如何使用java io.fabric8 kubernetes客户端库覆盖默认kubernetes配置文件
当我试图覆盖kubernetes配置文件时,它将无法工作,如何使用java io.fabric8 kubernetes客户端库覆盖默认kubernetes配置文件,java,spring-boot,kubernetes,fabric8,Java,Spring Boot,Kubernetes,Fabric8,当我试图覆盖kubernetes配置文件时,它将无法工作, 它正在查看“.kube/config”文件。 我在项目中添加了一个配置文件, 我想使用我的自定义配置文件。 我该怎么做呢?您已经找到的Config类有许多setter来覆盖特定的设置;但看起来您希望从另一个路径加载配置。在这种情况下,您可以使用方法 你试过设置kubeconfig系统属性吗?它使用fromKubeconfig函数,我也只是添加代码库,等待批准谢谢你的回答 import java.io.File; import org
它正在查看“.kube/config”文件。
我在项目中添加了一个配置文件,
我想使用我的自定义配置文件。
我该怎么做呢?您已经找到的
Config
类有许多setter来覆盖特定的设置;但看起来您希望从另一个路径加载配置。在这种情况下,您可以使用方法
你试过设置
kubeconfig
系统属性吗?它使用fromKubeconfig函数,我也只是添加代码库,等待批准谢谢你的回答
import java.io.File;
import org.springframework.util.ResourceUtils;
import io.fabric8.kubernetes.api.model.metrics.v1beta1.NodeMetrics;
import io.fabric8.kubernetes.api.model.metrics.v1beta1.NodeMetricsList;
import io.fabric8.kubernetes.client.Config;
import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
public class Tdd {
public static void main(String[] args) throws Exception {
File file=ResourceUtils.getFile("classpath:kubernetes_config");
Config config=Config.autoConfigure(file.getAbsolutePath());
try (KubernetesClient k8s = new DefaultKubernetesClient(config)) {
NodeMetricsList nodeMetricsList = k8s.top().nodes().metrics();
for (NodeMetrics nodeMetrics : nodeMetricsList.getItems()) {
System.out.println(nodeMetrics.getMetadata().getName());
System.out.println(nodeMetrics.getUsage().get("cpu"));
System.out.println(nodeMetrics.getUsage().get("memory"));
}
}
}
}
File file=ResourceUtils.getFile("classpath:kubernetes_config");
String kubeconfigContents=Files.readString(file.toPath());
Config config=Config.fromKubeconfig(kubeconfigContents);
try (KubernetesClient k8s = new DefaultKubernetesClient(config)) {
NodeMetricsList nodeMetricsList = k8s.top().nodes().metrics();
for (NodeMetrics nodeMetrics : nodeMetricsList.getItems()) {
System.out.println(nodeMetrics.getMetadata().getName());
System.out.println(nodeMetrics.getUsage().get("cpu"));
System.out.println(nodeMetrics.getUsage().get("memory"));
}
}