k8s 有多种远程连接操作方式 下面简述两种常用的连接方式
注意:本文建立在 官方 sdk 7.0.0 版本上
第一种通过 token 访问
第二种通过 k8s 的 config 连接
config的获取方法 网上有很多自己搜就可以了 配上一个我刚搜的地址
/**
* 第一种 k8s 连接方式 通过 地址与token
* @return
*/
private static ApiClient getApiClient(){
ApiClient apiClient = new ClientBuilder()
//设置 k8s 服务所在 ip地址
.setBasePath("https://192.168.0.1:6443")
//是否开启 ssl 验证
.setVerifyingSsl(false)
//插入访问 连接用的 Token
.setAuthentication(new AccessTokenAuthentication("I Am Token"))
.build();
Configuration.setDefaultApiClient(apiClient);
return apiClient;
}
/**
* 第二种访问方式 通过 k8s 配置文件进行访问 具体生成方式网上有很多不在赘述
* @return
*/
private static ApiClient getApiClinetByConf() throws IOException {
//因为是在测试环境中 所有需要获取配置文件的位置
URL url = NamespaceExample.class.getClassLoader().getResource("kube.conf");
//根据配置文件获取 apiClient 测试环境中也可以通过 绝对路径获取 但不建议使用 绝对路径 绝对路径只能在本地跑 不适合在多人开发
// ApiClient apiClient = Config.fromConfig("E:\\kube.conf");
ApiClient apiClient = Config.fromConfig(url.getPath());
//配置 apiClient
Configuration.setDefaultApiClient(apiClient);
return apiClient;
}