现在的水平,仅止于让它跑起来。:)

同样的环境,microk8s+istio。

步骤如下:

一,使用kubectl get pod -n istio-system查看所有istio的POD运行正常。

NAME                                      READY   STATUS      RESTARTS   AGE
grafana-5b5bb96d6d-xsmwb                  /     Running               7d6h
istio-citadel-69694bd465-wj5pp            /     Running               7d6h
istio-cleanup-secrets-7m87h               /     Completed             7d6h
istio-egressgateway-6d5cfb474-ffxv6       /     Running               7d6h
istio-galley-6d6b7f9cdd-tbdbb             /     Running               7d6h
istio-grafana-post-/     Completed             7d6h
istio-ingressgateway-859977c87-srsrg      /     Running               7d6h
istio-pilot-5ffcbc484f-wxdgx              /     Running               7d6h
istio-policy-76479db9b8-vgsfv             /     Running               7d6h
istio-security-post-/     Completed             7d6h
istio-sidecar-injector-56cdcffcd8-frrmb   /     Running               7d6h
istio-telemetry-75bd8c5898-7cs9f          /     Running               7d6h
istio-tracing-c8b67b59c-bvls6             /     Running               7d6h
prometheus-578b7dcfdc-2g7c9               /     Running               7d6h
servicegraph-84f87799b5-hs256             /     Running               7d6h

二,使用kubectl get svc -n istio-system了解istio主要的服务端口(注意jaeger-query:16686)

NAME                     TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                                                                                                                   AGE
grafana                  ClusterIP      /TCP                                                                                                                  7d6h
istio-citadel            ClusterIP      /TCP,/TCP                                                                                                         7d6h
istio-egressgateway      ClusterIP      /TCP,/TCP                                                                                                            7d6h
istio-galley             ClusterIP      /TCP,/TCP                                                                                                          7d6h
istio-ingressgateway     LoadBalancer   :/TCP,:/TCP,:/TCP,:/TCP,:/TCP,:/TCP,:/TCP,:/TCP   7d6h
istio-pilot              ClusterIP      /TCP,/TCP,/TCP,/TCP                                                                                     7d6h
istio-policy             ClusterIP      /TCP,/TCP,/TCP                                                                                               7d6h
istio-sidecar-injector   ClusterIP      /TCP                                                                                                                   7d6h
istio-telemetry          ClusterIP      /TCP,/TCP,/TCP,/TCP                                                                                     7d6h
jaeger-agent             ClusterIP      None             <none>        /UDP,/UDP,/UDP                                                                                                7d6h
jaeger-collector         ClusterIP      /TCP,/TCP                                                                                                       7d6h
jaeger-query             ClusterIP      /TCP                                                                                                                 7d6h
prometheus               ClusterIP      /TCP                                                                                                                  7d6h
servicegraph             ClusterIP      /TCP                                                                                                                  7d6h
tracing                  ClusterIP      /TCP                                                                                                                    7d6h
zipkin                   ClusterIP      /TCP                                                                                                                  7d6h

这时,使用查询命令

kubectl get pod -n istio-system -l app=jaeger -o jsonpath='{.items[0].metadata.name}'

输出为:istio-tracing-c8b67b59c-bvls6

三,使用kubectl port-forward命令,将default名字空间下的16686端口的数据,转到istio-system名字空间里的16686端口。( 这个端口看上面输出对应关系)

kubectl port-forward -n istio-system $(kubectl get pod -n istio-system -l app=jaeger -o jsonpath=:

如果命令不放入后台,输出如下:

Forwarding from  ->
Forwarding from [::]: ->
Handling connection
Handling connection
Handling connection
Handling connection 

上面的输出,表示port-proxy forward命令,只能支持到127.0.0.1的本地局域网。

四,用SSH进行二次转发。

此处需要输入root密码,如果可以,更换为普通用户。

五,浏览器输入http://ip:16687即可访问到jaeger UI了。

让istio中的jaeger跑起来-LMLPHP

让istio中的jaeger跑起来-LMLPHP

让istio中的jaeger跑起来-LMLPHP

05-26 22:07