不断学习 · 持续进步 Skip to main content

部署可观测平台

拉取Istio官方仓库
git clone https://github.com/istio/istio.git
 kubectl apply -f samples/addons
通过 Gateway 访问 Kiali

kiali_gateway.yaml

apiVersion: networking.istio.io/v1alpha3  
kind: Gateway  
metadata:  
  name: kiali-gateway  
spec:  
  selector:  
    istio: ingress
  servers:  
  - port:  
      number: 15029  
      name: http-kiali  
      protocol: HTTP  
    hosts:  
    - "*"  
kubectl -n istio-system apply -f kiali_gateway.yaml  
创建一个 VirtualService 资源,将 Gateway 路由到 Kiali 服务.

kiali_vs.yaml

apiVersion: networking.istio.io/v1alpha3  
kind: VirtualService  
metadata:  
  name: kiali  
spec:  
  hosts:  
  - "*"  
  gateways:  
  - kiali-gateway  
  http:  
  - match:  
    - uri:  
        prefix: /kiali  
    route:  
    - destination:  
        host: kiali.istio-system.svc.cluster.local  
        port:  
          number: 20001
kubectl -n istio-system apply -f kiali_vs.yaml
然后修改 istio-ingressgateway,新增加一个配置为 kiali 暴露服务。
kubectl edit svc istio-ingress -n istio-system

  - name: kiali
    nodePort: 32667
    port: 15029
    protocol: TCP
    targetPort: 15029
测试查看链路追踪数据
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