skywalking架構及簡介
官網:https://github.com/apache/skywalking
簡介
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
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
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文件中,添加初始化容器
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
env: - name: JAVA_OPTS value: -javaagent:/usr/skywalking/agent/skywalking-agent.jar
volumeMounts: - mountPath: /usr/skywalking/agent name: sw-agent
部署服務,這樣,服務啟動的時候,就會加上上面的變量
進入容器:kubectl exec -it product-78fcbdfd6b-mv2hl -n mm -- sh
可以看到,服務容器的目錄下有skywalking-agent.jar
top查看進程
訪問

【性能項目實戰:jmeter+k8s+微服務+skywalking+efk】匯總
詳見:https://www.cnblogs.com/uncleyong/p/15475614.html