调研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 启动服务

本文介绍了如何使用阿里开源的Arthas工具进行方法追踪,以观察Spring Cloud Kubernetes组件如何通过HTTP请求Kubernetes API获取Service列表。在本地尝试AOP切面失败后,借助Arthas的watch命令监控服务方法并获取返回结果。同时,详细阐述了将Arthas集成到Docker镜像以及在Kubernetes环境中使用Arthas进行服务观测的步骤。
最低0.47元/天 解锁文章
3256

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



