1. 程式人生 > 其它 >基於kubernetes實現鏈路監控

基於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'
如對您有幫助,支援下唄!

微信

支付寶