無狀態服務適用於不需要數據持久化的場景,並且多個實例對統一請求的響應式相同的場景(例如 Nginx、Tomcat 等);
有狀態服務適用於需要數據存儲功能的服務、或者指多線程類型的服務,隊列等 (mysql 數據庫、kafka、zookeeper 等)。
Ingress 對象可以理解為應用路由,Ingress controller 是應用路由的底層實現。Ingress controller 是跑在 ingress 節點上的。所以想要通過 Ingress 訪問無狀態服務 nginx, 需要安裝 ingress controller 插件,測試的集群需要有 ingress 節點。
Ingress 根據請求的主機名和路徑將請求轉發
整個的思路是 ingress --> service --> deployment --> pod --> container --> nginx
一個外部的請求會通過 ingress 轉發到 service,然后再轉發到 pod, 再到 pod 里對應的 容器中的 nginx 服務。其中 deployment 根據副本數,對應的控制啟動的 pod 的個數
ingress 根據host+path,決定使用哪個backend。 backend = service name + service port
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
還可以 describe 查看,更直觀