调研spring-cloud-kubenetes,发现组件底层通过http请求k8s的apiserver服务查询k8s管理的service列表。


本地调用跟踪源码的结果url :https://kubernetes.default.svc/api/v1/services,由于未设置namaspace等信息所以url是最简单的url,源码会读取配置,然后最终生成url。然后想看看部署到k8s上的服务生成的url情况,想法是通过aop切这个方法,然后取到返回结果,由于实力有限没成功,所以想想其他方法,后来想到了阿里开源的arthas工具,所以记录一次使用过程。
1、首先去官网下载最新版jar包 version:3.2
2、本地启动并监控本地的服务中方法,通过watch命令,可以查看方法的返回值。命令:
watch com.cnpc.cloud.k8s.demo.controller health "{returnObj,target}"
3、怎么将arthas安装到镜像中
上传zip包到服务器
dockerfile中新增:
ADD arthas-3.2.0-bin.zip /usr/local/arthas/
k8s启动服务后通过命令 kubectl get pods 找到部署的pod
如果是单pod的服务则通过命令:kubectl exec -it [pod] – /bin/bash 进入容器
通过 java -jar arthas-boot.jar 启动服务
754



被折叠的 条评论
为什么被折叠?



