@zhangyy
2021-08-26T19:59:20.000000Z
字数 2053
阅读 289
kubernetes系列
在分布式架构、微服务以及k8s生态相关技术环境下,对应用的请求链路进行追踪(也叫做APM,Application Performance Management)是非常有必要的,链路追踪简单来说就是将应用从流量到达前端开始,一直到最后端的数据库核心,中间经过的每一层请求链路的完整行为都记录下来,而且通过可视化的形式实现链路信息查询、依赖关系、性能分析、拓扑展示等等,利用链路追踪系统可以很好的帮我们定位问题,这是常规监控手段实现起来比较困难的
常用的链路追踪系统有商业版本和开源版本,比较出名(我了解过的)的有如下:
商业版本:
听云
博睿宏远
开源版本:
Skywalking:中国,个人开源,目前隶属于Apache基金会,作者近期刚刚入选Apache首位中国董事
Pinpoint:韩国,个人开源
Zipkin:美国,Twitter公司开源
Cat:中国,美团开源
pinpoint vs skywalking
1.2 组件
本文采用的是SkyWalking,简单来说分为以下几个组成部分(以本文中的部署方式划分)
skywalking-oap-server:后端服务
skywalking-ui:ui前端
skywalking-es-init:初始化es集群数据使用
elasticsearch:存储skywalking的数据指标
helm version
kubectl create ns skywalking
git clone https://github.com/apache/skywalking-kubernetes
cd skywalking-kubernetes/chart
helm repo add elastic https://helm.elastic.co
helm dep up skywalking
export SKYWALKING_RELEASE_NAME=skywalking
export SKYWALKING_RELEASE_NAMESPACE=skywalking
cd /root/skywalking-kubernetes/chart/skywalking
vim values.yaml
------
image:
repository: skywalking.docker.scarf.sh/apache/skywalking-oap-server
改为:
repository: docker.mirrors.ustc.edu.cn/apache/skywalking-oap-server
------
安装skywalking:
cd /root/skywalking-kubernetes/chart/
helm install "${SKYWALKING_RELEASE_NAME}" skywalking -n "${SKYWALKING_RELEASE_NAMESPACE}" --set oap.image.tag=8.1.0-es7 --set oap.storageType=elasticsearch7 --set ui.image.tag=8.1.0 --set elasticsearch.imageTag=7.5.1
安装其它版本:
helm install "${SKYWALKING_RELEASE_NAME}" skywalking -n "${SKYWALKING_RELEASE_NAMESPACE}" --set oap.image.tag=8.0.1-es6 --set oap.storageType=elasticsearch --set ui.image.tag=8.0.1 --set elasticsearch.imageTag=6.8.6
Get the UI URL by running these commands:
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward svc/skywalking-ui 8080:80 --namespace skywalking
kubectl get svc -n skywalking
kubectl edit svc skywalking-ui -n skywalking
---
改ClusterIP 为 NodePort
---
打开页面访问:
http://192.168.100.11:31159