上一篇主要是來探討,Native Kubernetes有什麼是目前缺乏,無法辦到的事情。今天就是來看如何用Istio解決目前碰到的瓶頸及困難。
利用Envoy Proxy我們不再透過Kube-Proxy進行Service To Service,而是藉由Istio的Service Mesh。之後我們會詳細說明整個Istio架構以及Istio各模組之間的說明。
同時因為我們已經使用Istio,所以已經沒有在使用Kube-Proxy,使用Istio直接幫我們解決Kube-Proxy Timeout的問題。而目前Istio預設使用的是Enovy Proxy。Envoy Proxy一樣是留在後面跟Istio架構一起詳細說明。
Istio提供了Ingressgateway以及Egressgateway,可以更好的統一控管Kubernetes Cluster要Expose的服務,以及Kubernetes Cluster相依於哪些外部的服務(Ex DateBase...)。實際範例跟應用都在後面一起說明。
如果你在Istio中使用Mysql or Mariadb,發生加入Envoy Proxy導致連線異常。可以參考官方這一篇文章MySQL Connectivity Troubleshooting
上面就是目前團隊踩過的坑,明天開始會使用K3S在本機建立簡單的Kubernetes環境,並且將部分經典的情境解釋一番。如果解釋得不夠好,再麻煩各位多多斧正。
ingress-and-egress
Istio Architecture