注意:下面用到的以上软件版本兼容Istio1.8,如果版本更新,也许不兼容。
环境准备¶
1、下载环境资源yaml
mkdir istio-addons
cd istio-addons
for f in kiali prometheus grafana jaeger
do
wget https://raw.githubusercontent.com/istio/istio/release-1.18/samples/addons/${f}.yaml
done
2、部署Prometheus、Grafana、kiali、Jaeger
[root@master01 ~]# cd istio-addons/
[root@master01 istio-addons]# for f in `ls *.yaml`; do kubectl apply -f $f; done
检测
[root@master01 ~]# kubectl get po -n istio-system
NAME READY STATUS RESTARTS AGE
grafana-6cb5b7fbb8-vgvpb 1/1 Running 0 9h
istio-egressgateway-545f48cf64-w87d4 1/1 Running 0 2d4h
istio-ingressgateway-dc7bfc496-7gb5q 1/1 Running 0 2d4h
istiod-647cff69d6-9zhg4 1/1 Running 0 2d4h
jaeger-cc4688b98-rb64d 1/1 Running 0 9h
kiali-75b4b9df64-fjhds 1/1 Running 0 9h
prometheus-67f6764db9-zhzqq 2/2 Running 0 9h
3、设置Kiali登录的用户名和密码
cat > kiali-secret.yaml << EOF
apiVersion: v1
kind: Secret
metadata:
name: kiali
namespace: istio-system
labels:
app: kiali
type: Opaque
data:
username: YWRtaW4=
passphrase: YWRtaW4=
EOF
kubectl apply -f kiali-secret.yaml
说明:用户名和密码都是admin
[root@master01 istio-addons]# echo -n "YWRtaW4=" | base64 -d
admin
4、配置各组件对外访问
(1)kiali对外端口为15029
[root@master01 istio-addons]# nohup kubectl port-forward -n istio-system svc/kiali --address 192.168.1.60 15029:20001 &
浏览器输入http://192.168.1.60:15029/kiali访问kiali
(2)prometheus对外访问端口为15030
[root@master01 istio-addons]# nohup kubectl port-forward -n istio-system svc/prometheus --address 192.168.1.60 15030:9090 &
浏览器输入http://192.168.1.60:15030访问Prometheus
(3)Grafana对外访问端口为15031
[root@master01 istio-addons]# nohup kubectl port-forward -n istio-system svc/grafana --address 192.168.1.60 15031:3000 &
浏览器输入http://192.168.1.60:15031访问Grafana
(4)Gaeger对外访问端口为15032
[root@master01 istio-addons]# nohup kubectl port-forward -n istio-system svc/tracing --address 192.168.1.60 15032:80 &
浏览器输入http://192.168.1.60:15032访问Gaeger
调用链跟踪¶
1、直接在浏览器输入http://192.168.1.60:9080访问前面部署的测试应用,随便点点,方便后面追踪
2、在浏览器输入http://192.168.1.60:15032/访问Jaeger
点击【Search】后,选择具体的Service后,点击【Find Traces】即可查看详细信息

指标监控¶
1、浏览器输入http://192.168.1.60:15030访问Prometheus,在搜索栏中输入istio_requests_total后,点击【Excute】

也可点击【Graph】

2、仪表盘
浏览器输入http://192.168.1.60:15031访问Grafana后,点击【Browse】-【Browse】-【istio】


点击【Istio Control Plane Dashboard】

其他也可以进行点击
服务网格应用拓扑¶
这个需要通过Kiali来获取拓扑。Kiali是一个为Istio提供图形化界面和丰富观测功能的Dashboard的开源项目。它主要用来检测服务网格内部服务的实时工作状态,管理Istio的网络配置,快速识别网络问题。
1、在浏览器中输入http://192.168.1.60:3000/dashboard访问页面,随便点点
2、浏览器输入http://192.168.1.60:15029/kiali访问kiali,【namespace】选择weather,统计时间范围为过去5m,每10s检测1次
