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());
        }
    }
}
相关推荐
Plastic garden13 分钟前
Redis(2) redis的高可用
java·数据库·redis
XiYang-DING22 分钟前
【Spring】SpringIoC&DI
java·spring·log4j
xixingzhe227 分钟前
spring构造函数注入对比@Resource
java·后端·spring
宋哥转AI33 分钟前
Java搭RAG实战(三):检索问答全链路,从架构分层到SSE流式
java·agent
测试员周周34 分钟前
【Appium 系列】第17节-XMind用例转换 — 从思维导图到 YAML
java·服务器·人工智能·单元测试·appium·测试用例·xmind
我材不敲代码1 小时前
Python 基础:列表的切片与嵌套列表使用技巧
开发语言·python
NiceCloud喜云1 小时前
Claude API PDF 文档问答实战:从原生解析到分页引用的完整方案
java·服务器·前端·网络·数据库·人工智能·pdf
彦为君1 小时前
JavaSE-03-集合框架(详细版)
java·开发语言·python
Dicky-_-zhang1 小时前
API接口签名验证实战
java·jvm
java1234_小锋1 小时前
Redis 支持哪些数据类型?请分别说明它们的使用场景
java·数据库·redis