首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用java io.fabric8 kubernetes -客户端库覆盖默认的kubernetes配置文件

如何使用java io.fabric8 kubernetes -客户端库覆盖默认的kubernetes配置文件
EN

Stack Overflow用户
提问于 2021-05-26 15:29:15
回答 1查看 901关注 0票数 0
代码语言:javascript
复制
 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"));
            
        }
    }

 }

}

当我试图覆盖kubernetes配置文件时,它将无法工作,

它看起来是“..kube/config”文件。

我在我的项目中添加了一个配置文件,

我想使用我的自定义配置文件。

我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-26 15:40:40

您已经找到的Config类有许多设置程序可以覆盖特定的设置;但是它看起来需要从另一个路径加载配置。在这种情况下,您可以使用fromKubeconfig方法。

代码语言:javascript
复制
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"));
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67708080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档