基于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'
posted @   西门运维  阅读(367)  评论(0编辑  收藏  举报
编辑推荐:
· .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技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示