描述
使用Skywalking实现链路追踪需要自建ElasticSearch,在Skywaking工作负载中填入正确的ElasticSearch信息。如果ElasticSearch连接异常会导致Skywalking工作负载Crash。
解决方案
步骤一
修改工作负载的yaml文件kubectl edit deploy skywalking-oap -n servicemesh
修改skywalking-oap
容器的环境变量:
containers:
- name: skywalking-oap
image: {{ tuple .Values.images.tags "skywalking_oap_server" . | include "helm-toolkit.utils.update_image" }}
env:
- name: SW_STORAGE_ES_CLUSTER_NODES
value: "elasticsearch.servicemesh:9200"
- name: SW_STORAGE_ES_HTTP_PROTOCOL
value: "HTTP"
- name: SW_ES_USER
value: ""
- name: SW_ES_PASSWORD
value: ""
变量含义:
SW_STORAGE_ES_CLUSTER_NODES
:ElasticSearch服务地址,默认为elasticsearch.servicemesh:9200
SW_STORAGE_ES_HTTP_PROTOCOL
:ElasticSearch连接协议,默认为HTTPSW_ES_USER
:ElasticSearch用户,默认为空SW_ES_PASSWORD
:ElasticSearch密码,默认为空
确保ElasticSearch相关信息填写正确且网络可达。
步骤二
保存退出后工作负载滚动升级,等待并观察Skywalking工作负载是否处于Running状态且Ready字段为1/1
kubectl get po -n servicemesh|grep skywalking-oap
skywalking-oap-xxxxxxxxxx-xxxxx 1/1 Running 0 1h