全部產品
Search
文件中心

Container Service for Kubernetes:雲邊營運通訊組件Tunnel FAQ

更新時間:Nov 06, 2024

本文介紹雲邊營運通訊組件Tunnel的常見問題。

kubectl exec/logs不通、Prometheus和Metrics Server不能擷取邊緣節點的Metrics資料

問題現象

  • 執行命令kubectl exec -it edge-tunnel-agent-xxx -n kube-system -- sh時,輸出報錯資訊error: unable to upgrade connection: fail to setup the tunnel: fail to setup TLS handshake through the Tunnel

  • Prometheus不能擷取邊緣節點的Metrics資料。

  • Metrics Server不能擷取邊緣節點的Metrics資料。

問題原因

出現此類問題,可能是由於雲上的edge-tunnel-server與edge-tunnel-agent之間沒有建立網路連結。

解決方案

  1. 執行以下命令,查看edge-tunnel-server Pod的日誌。替換以下edge-tunnel-server-xxx為您edge-tunnel-server Pod的名稱。

    kubectl logs edge-tunnel-server-xxx -n kube-system 

    預期輸出中出現以下錯誤提示。

    tunnel.go:74] "currently no tunnels available" err="No backend available"
    interceptor.go:115] successfully setup connection to "127.0.0.1:10255" with headers: "\r\nX-Tunnel-Proxy-Host: xxxx\r\nUser-Agent: Go-http-client/1.1"
    interceptor.go:136] fail to write request to tls connection: write unix @->/tmp/interceptor-proxier.sock: write: broken pipe
  2. 收集出現問題的邊緣節點的診斷資訊。具體操作,請參見如何收集ACK Edge叢集節點的診斷資訊?

  3. 在收集到的資訊中,查看edge-tunnel-agent的日誌,是否出現以下提示資訊。

     1 clientset.go:156] "cannot sync once" err="rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial tcp xxx.xxx.xxx.xxx:10262: i/o timeout\""
    • 若沒有出現以上資訊,請提交工單處理。

    • 若出現以上資訊,請轉下一步。

  4. 執行以下命令,查看tunnel-server的暴露地址。

    kubectl get svc -n kube-system | grep tunnel-server-svc

    預期輸出:

    x-tunnel-server-svc            LoadBalancer   172.16.XX.XX     47.99.XX.XX    10262:30164/TCP                         47h
  5. 在邊緣節點上檢查與tunnel-server的網路連通性,您可以通過ping 47.99.XX.XX查看網路是否連通。

    • 如果網路不通,則需要繼續排查網路問題。

    • 如果網路連通,則執行下一步。

  6. 在邊緣節點上telnet 47.99.XX.XX 10262查看是否連通。如果連接埠不通,則需要檢查雲上安全性群組、SLB的ACL規則、tunnel-server所在節點的iptables規則,確認這些規則是否阻礙網路連結的建立。

  7. 如果雲上安全性原則沒有阻攔,則需要檢查邊緣節點本身網路原則是否對出公網10262連接埠進行攔截。

    重要
    • 目前Tunnel採用10262,10263,10264三個連接埠,雲上安全性原則不允許對這三個連接埠進行任何限制;雲下安全性原則不允許對10262連接埠進行任何限制。

    • SLB無任何ACL,請勿私自添加ACL規則。