第一步 配置kubectl
- 本地安装
kubectl
,并配置路径到环境变量中。 - 找到服务器上的
apiserver.crt
文件,一般在/etc/kubernetes/pki
中,执行openssl x509 -in apiserver.crt -noout -text | grep DNS
命令. - 在本机hosts中添加添加上图中的DNS值任意一条域名(通常为kubernetes),ip地址为k8s服务器外网IP。
- 下载服务器端的
~/.kube/config
到本地,配置kubectl
的config
,config
文件通常在C:\Users\{用户}\.kube\
下,将clusters:clusters:clusters:
的地址改为hosts中配置的域名。
第二步 配置KT-Connect并使用IDEA进行开发联调
- 下载KT-Connect,本地安装并配置路径到环境变量中。
- IDEA 下载并安装最新版本的JVM Inject插件
- 在IDEA打开的项目的目录下使用ktctl启动本地到集群的socks5代理服务,
ktctl connect --method=socks5 --dump2hosts
- 在IDEA刷新目录,直到可以看到.jvmrc文件,就可以启动项目,VM Inject插件会在Java程序启动时自动读取.jvmrc文件,并追加到程序的启动参数中,如下所示:
java ...省略的其他输出... -Djava.rmi.server.hostname=127.0.0.1 -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dhttp.proxyHost=127.0
- 就可以访问到集群内的地址了
@ApiOperation("k8s测试")
@PostMapping("/index")
public Result<String> index() {
String s = HttpUtil.get("http://10.233.99.24:8080");
return Res.ok(s);
}
浏览器直接访问集群内地址效果:
Java程序访问效果:
来源:oschina
链接:https://my.oschina.net/u/2555967/blog/4871202