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());
        }
    }
}
相关推荐
lkbhua莱克瓦241 分钟前
反射4-反射获取成员变量
java·开发语言·servlet·反射
dawnButterfly2 分钟前
C 语言标准、编译器与操作系统的关系
c语言·开发语言·c++
lifewange2 分钟前
Linux 日志查看命令速查表
java·linux·运维
风景的人生6 分钟前
一台电脑上可以同时运行多个JVM(Java虚拟机)实例
java·开发语言·jvm
世转神风-25 分钟前
qt-float转QByteArray-二进制存储-数据存储(IEEE 754标准)
开发语言·qt
linksinke26 分钟前
在windows系统上搭建Golang多版本管理器(g)的配置环境
开发语言·windows·golang
阿蒙Amon29 分钟前
C#每日面试题-进程和线程的区别
java·面试·c#
一 乐30 分钟前
养老院信息|基于springboot + vue养老院信息管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
xiaoshujiaa31 分钟前
微服务与大数据场景下的Java面试实录:从Spring Cloud到Flink的层层拷问
大数据·spring cloud·微服务·flink·kubernetes·java面试·resilience4j
hopsky31 分钟前
mvn install 需要 手动清除 pom.lastUpdated
java·maven·mavbne