性能测试实战系列(11):监控搭建 - k8s搭建链路监控skywalking
本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/15475614.html
skywalking架构及简介
官网:https://github.com/apache/skywalking
简介
1 2 3 4 5 6 7 8 | Java, .NET Core, NodeJS, PHP, and Python auto-instrument agents. Go and C++ SDKs. LUA agent especially for Nginx, OpenResty and Apache APISIX. Browser agent. Service Mesh Observability. Control panel and data panel. Metrics system, including Prometheus, OpenTelemetry, Spring Sleuth(Micrometer), Zabbix. Logs. Zipkin v1/v2 trace.(No Analysis) |
编写OAP和UI资源文件
其中,使用的镜像:
apache/skywalking-oap-server:8.6.0-es7
apache/skywalking-ui:8.6.0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | apiVersion: v1 kind: Service metadata: name: ui namespace : skywalking labels: service: ui spec: ports: - port: 8080 name: page nodePort: 30123 selector: app: ui type: NodePort |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | apiVersion: apps/v1 kind: Deployment metadata: name: ui-deployment namespace : skywalking labels: app: ui spec: replicas: 1 selector: matchLabels: app: ui template: metadata: labels: app: ui spec: containers: - name: ui image: 192.168.117.160/apache/skywalking-ui:8.6.0 imagePullPolicy: IfNotPresent ports: - name: page containerPort: 8080 env: - name: SW_OAP_ADDRESS value: oap:12800 |
部署OAP和UI
创建名称空间:kubectl create ns skywalking
查看名称空间:kubectl get ns

应用资源文件:kubectl apply -f .
看名称空间下所有资源:kubectl get all -n skywalking

可以看日志是否正常(端口是否ok):kubectl logs pod/oap-9d459674b-8vndj -n skywalking
使用skywalking agent
这里,我们不修改服务镜像,通过共享volumes的方式,使agent能被服务镜像访问并使用
下载镜像:skywalking-agent-sidecar:v1.0
推送到本地镜像仓库
资源yaml文件中,添加初始化容器
1 2 3 4 5 6 7 8 9 10 11 12 13 | initContainers: - image: 192.168.117.160/skywalking/skywalking-agent-sidecar:v1.0 name: sw-agent-sidecar imagePullPolicy: IfNotPresent command: [ "sh" ] args: [ "-c" , "mkdir -p /skywalking/agent && cp -r /usr/skywalking/agent/* /skywalking/agent" , ] volumeMounts: - mountPath: /skywalking/agent name: sw-agent |
资源yaml文件中,服务容器添加环境变量和volumeMounts
1 2 3 | env: - name: JAVA_OPTS value: -javaagent:/usr/skywalking/agent/skywalking-agent.jar |
1 2 3 | volumeMounts: - mountPath: /usr/skywalking/agent name: sw-agent |
部署服务,这样,服务启动的时候,就会加上上面的变量
进入容器:kubectl exec -it product-78fcbdfd6b-mv2hl -n mm -- sh
可以看到,服务容器的目录下有skywalking-agent.jar
top查看进程
访问

__EOF__

本文作者:持之以恒(韧)
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?