基于kubernetes实现链路监控
介绍
- 官方文档:https://skywalking.apache.org/docs/main/latest/readme/
- chart包地址:https://github.com/apache/skywalking-kubernetes
实践
Install released version using Helm repository
下载chart包
export REPO=skywalking
helm repo add ${REPO} https://apache.jfrog.io/artifactory/skywalking-helm
helm pull skywalking/skywalking
修改value文件
由于前期有搭ES来收集日志,所以直接引用外部ES来做存储。
elasticsearch:
enabled: false
config: # For users of an existing elasticsearch cluster,takes effect when `elasticsearch.enabled` is false
host: elasticsearch-master.logs
port:
http: 9200
user: "elastic" # [optional]
password: "vRIfHvcdhNZJDGJ0" # [optional]
helm install
helm install skywalking -f ./values-my-es.yaml ../skywalking --namespace=skywalking
ingress 配置
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
name: skywalking
namespace: skywalking
spec:
tls:
- hosts:
- uatk8s-skywalking.jackhe.com
secretName: leyaoyao
rules:
- host: uatk8s-skywalking.jackhe.com
http:
paths:
- path: /
backend:
service:
name: skywalking-ui
port:
number: 80
pathType: Prefix
集成应用
制作agent镜像
这里我们以sidecar 模式接入 skywalking
Dockerfile
下载agent包: https://archive.apache.org/dist/skywalking/8.1.0/apache-skywalking-apm-es7-8.1.0.tar.gz
FROM busybox:latest
LABEL maintainer="Jackhe"
COPY apache-skywalking-apm-bin-es7/agent/ /opt/agent/
deployment配置
- helm 模板
{{- if .Values.initContainers.SkyWalking.enabled }}
- mountPath: /skywalking
name: apm-agent
{{- end }}
initContainers:
{{- if .Values.initContainers.SkyWalking.enabled }}
- command:
- cp
- -rf
- /opt/agent
- /skywalking
image: tengxunharbor.jackhe.com/lyy-gz/skywalking:8.1.0
name: skywalking-agent
imagePullPolicy: Always
volumeMounts:
- mountPath: /skywalking
name: apm-agent
{{- end }}
volumes:
{{- if .Values.initContainers.SkyWalking.enabled }}
- emptyDir: {}
name: apm-agent
{{- end }}
应用configmap
appConfig:
JAVA_TOOL_OPTIONS: -javaagent:/skywalking/agent/skywalking-agent.jar
SW_AGENT_COLLECTOR_BACKEND_SERVICES: skywalking-oap.skywalking:11800
SW_AGENT_NAME: '[middle]user-member-sky'
如对您有帮助,支持下呗!
微信

支付宝

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类