基於kubernetes實現鏈路監控
阿新 • • 發佈:2021-12-24
介紹
- 官方文件: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'
如對您有幫助,支援下唄!
微信
支付寶