部署可观测平台
部署拉取Istio官方仓库
git clone https://github.com/istio/istio.git
kubectl apply -f samples/addons
通过 Gateway 访问 Kiali
ingress_gateway.kiali_gateway.yaml
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: bookinfo-kiali-gateway
spec:
selector:
istio: ingress
servers:
- port:
number: 8015029
name: httphttp-kiali
protocol: HTTP
hosts:
- "*"
kubectl -n bookinfoistio-system apply -f ingress_gateway.kiali_gateway.yaml
部署创建一个 VirtualService 资源,将 Gateway 路由到 Kiali 服务.
productpage_vs.kiali_vs.yaml
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: bookinfokiali
spec:
hosts:
- "*"
gateways:
- bookinfo-kiali-gateway
http:
- match:
- uri:
exact: /productpage
- uri:
prefix: /static
- uri:
exact: /login
- uri:
exact: /logout
- uri:
prefix: /api/v1/productskiali
route:
- destination:
host: productpagekiali.istio-system.svc.cluster.local
port:
number: 908020001
kubectl -n bookinfoistio-system apply -f productpage_vs.kiali_vs.yaml
通过istio访问 带上/productpage
#查看istio-ingress的NodePort端口
kubectl get svc -n然后修改 istio-systemingressgateway,新增加一个配置为 kiali 可手动修改访问端口,port端口号和ingress_gateway.yaml文件中number对上即可暴露服务。
kubectl edit svc istio-ingressgatewayingress -n istio-system
- name: http-testkiali
nodePort: 3266632667
port: 66615029
protocol: TCP
targetPort: 66615029
测试查看链路追踪数据
for i in `seq 1 1000`; do curl -s -o /dev/null http://10.1.1.102:32666/productpage; done
然后访问:http://10.1.1.102:32667/kiali
修复 Kiali Grafana 问题 添加grafana配置url
kubectl edit configmap kiali -n istio-system
external_services:
grafana:
enabled: true
url: "http://grafana.istio-system.svc.cluster.local:3000"
in_cluster_url: "http://grafana.istio-system.svc.cluster.local:3000"
重启kiali
kubectl delete -n istio-system pod kiali-6bd54bd76-nvjbp