3.3 部署服务网格调用链检测工具 Jaeger
- 部署 Jaeger 服务
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.16/samples/addons/jaeger.yaml
- 创建 jaeger-vs.yaml 文件
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: jaeger-vs
namespace: istio-system
spec:
hosts:
- jaeger.域名.com
gateways:
- admin-gateway
http:
- route:
- destination:
host: tracing
port:
number: 80
- 创建 Jaeger VirtualService 服务
kubectl apply -f jaeger-vs.yaml
3.4 部署服务网格检测工具 Prometheus
- 部署 Prometheus
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.16/samples/addons/prometheus.yaml
- 创建 prometheus-vs.yaml 文件
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: prometheus-vs
namespace: istio-system
spec:
hosts:
- prometheus.域名.com
gateways:
- admin-gateway
http:
- route:
- destination:
host: prometheus
port:
number: 9090
- 创建 Prometheus VirtualService 服务
kubectl apply -f prometheus-vs.yaml
4. 查看 istiod 与 ingress 是否成功部署
kubectl get pods –A
5. 登陆 Kiali 查看服务网格
在浏览器中输入 http://kiali.
域名
.com
访问 Kiali 服务。效果图如下所示:
默认安装时,Kiali 没有设置账号密码,直接匿名登陆访问,如果在生产环境中或者管理比较规范的组织中使用 Kiali 管理服务网格,可通过修改 Kiali 配置来添加鉴权服务。配置信息在 ConfigMap 中可查看到。
- jaeger 地址:http://jaeger.域名.com
- prometheus 地址:http://prometheus.域名.com
- grafana 地址:http://grafana.域名.com
- dashboard 地址:https://dashboard.域名.com
6. 部署 kubernetes dashboard
- 部署 kubernetes 服务
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
- 创建用户并授权
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
kubectl create clusterrolebinding dashboard-admin-rb --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin
- 获取登陆 kubernetes dashboard 的 token
kubectl -n kubernetes-dashboard create token dashboard-admin
- 创建 dashboard-vs.yaml 文件
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: dashboard-vs
namespace: istio-system
spec:
hosts:
- "dashboard.域名.com"
gateways:
- admin-gateway
tls:
- match:
- sniHosts:
- "dashboard.域名.com"
route:
- destination:
host: kubernetes-dashboard.kubernetes-dashboard.svc.cluster.local
port:
number: 443
weight: 100
- 创建 dashboard VirtualService
kubectl apply -f dashboard-vs.yaml
- 访问 dashboard
https://dashboard.域名.com
请注意 dashboard 使用的是 https 协议。效果图如下所示:
- 获取 dashboard 登陆 token
kubectl -n kubernetes-dashboard create token dashboard-admin
登陆系统效果图