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());
        }
    }
}
相关推荐
qq_416018722 分钟前
实时数据可视化库
开发语言·c++·算法
_杨瀚博7 分钟前
JAVA找出哪个类import了不存在的类
java·后端
2401_8732046516 分钟前
C++中的策略模式进阶
开发语言·c++·算法
OKkankan17 分钟前
深入理解linux进程
java·linux·c++
xushichao198921 分钟前
C++中的职责链模式实战
开发语言·c++·算法
清风徐来QCQ27 分钟前
js中的模板字符串
开发语言·前端·javascript
2301_8184190134 分钟前
C++中的协程编程
开发语言·c++·算法
add45a36 分钟前
C++中的工厂方法模式
开发语言·c++·算法
java1234_小锋36 分钟前
Java高频面试题:Spring-AOP通知和执行顺序?
java·开发语言·spring
番茄去哪了40 分钟前
Java基础面试题day02
java·开发语言·面向对象编程