client-java 连接 k8s 集群(调通版,后期再优化结构)

  1. pom 添加依赖,版本信息在 https://github.com/kubernetes-client/java/wiki/2.-Versioning-and-Compatibility
xml 复制代码
        <dependency>
            <groupId>io.kubernetes</groupId>
            <artifactId>client-java</artifactId>
            <version>17.0.0</version>
        </dependency>
  1. 通过 token 连接集群
java 复制代码
public class K8sClient {
    public static void run () {

        String token = "eyJhb...gyQ1cJ29w";
        String url = "https://1...6:6443";
        ApiClient apiClient = Config.fromToken(url, token, false);
        Configuration.setDefaultApiClient(apiClient);
    }
}

token 获取方式为 secret 中的 token 经过 base64 加密,通常 kube-system 命名空间的 secret 中包含 token 内容的都可以

url 就是集群的 IP 地址

  1. 写个接口调用验证
java 复制代码
@RestController
public class PodController {

    @ResponseBody
    @GetMapping("/podList")
    public void getPodList () throws ApiException {
        K8sClient.run();
        CoreV1Api api = new CoreV1Api();
        V1PodList list =
                api.listNamespacedPod("default",null,null,null,null,null,null,null,null,null,null);
        for (V1Pod item : list.getItems()) {
            System.out.println(item.getMetadata().getName());
        }
    }
}
相关推荐
程序员岳焱13 分钟前
深度剖析:Spring AI 与 LangChain4j,谁才是 Java 程序员的 AI 开发利器?
java·人工智能·后端
wangjinjin18013 分钟前
Python Excel 文件处理:openpyxl 与 pandas 库完全指南
开发语言·python
愚润求学14 分钟前
【C++】类型转换
开发语言·c++
都叫我大帅哥21 分钟前
AQS(AbstractQueuedSynchronizer)深度解剖:从“奶茶店排队”到源码级设计哲学
java
斯奕sky_small-BAD26 分钟前
C++ if语句完全指南:从基础到工程实践
java·开发语言·php
云之渺27 分钟前
125java
java
都叫我大帅哥28 分钟前
Java ReentrantLock:从“舔狗式等待”到源码级征服指南
java
程序员岳焱35 分钟前
Java 高级泛型实战:8 个场景化编程技巧
java·后端·编程语言
Humbunklung35 分钟前
Rust Floem UI 框架使用简介
开发语言·ui·rust
钢铁男儿44 分钟前
C# 类和继承(扩展方法)
java·servlet·c#