我已經開始閱讀 Istio-in-action (by Manning) 和 Mastering-service-mesh (by Packt) 并且有一些示例我無法“看到”正確的輸出。我使用 Ubuntu 20.04 在我的筆記本電腦上作業,我使用 [kind] 作為我的本地 k8s 集群,我可以在其中創建 3 個或更多作業節點。
當我部署一些 Istio 資源(例如虛擬服務)時,我想從我的 Ubuntu 瀏覽器或不同的客戶端(不同的筆記本電腦或手機)瀏覽服務網格,但它在我的“基礎設施”中遺漏了一些東西 - 是嗎外部負載平衡器或一些本地 Ubuntu 配置?是否必須與公共云提供商合作 - GCP/AWS/Azure ;如果是,哪個最簡單?我嘗試過kubectl port-forward但沒有成功。
即使沒有 ExternalIP,其他資源也可以(例如 istioctl 儀表板 kiali/jaeger/prometheus)。
你能幫我找到一個關于從互聯網瀏覽 k8s/Istio 服務的必要元素的博客或教程/提示/建議嗎?
先感謝您!
uj5u.com熱心網友回復:
在啟用 istio-ingressgateway 的情況下安裝 istio 時,會在istio-system命名空間中創建具有該名稱的服務。
? kubectl get svc -n istio-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
istio-ingressgateway LoadBalancer 100.71.98.21 <pending> 80:32564:80/TCP,...
將 istio 部署到公共云提供商時,這將為您創建一個負載均衡器(如 AWS ELB)。設定完成后,EXTERNAL-IP將切換<pending>到實際 ip,即負載均衡器的公共 ip。您可以通過訪問該 ip 來訪問您的集群。
在您的本地設定中,您沒有這種奢侈。但服務仍然被創建。在PORT(S)列中,您可以看到一堆埠。那實際上是一個埠映射。所以你的節點機器的埠被映射到該服務。
您可以使用它來將埠映射到 http(埠 80):對我來說,它將是32564. 或者你可以運行這個:
kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}'
現在只需打開您的瀏覽器并使用您的作業人員的 IP 之一通過訪問來訪問集群<NODE_IP>:<PORT>(PORT上面的那個是哪里)。
查看檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/317643.html
標籤:Kubernetes 伊斯蒂奥
