引入話題
平臺實現異構
比如你用k8s要實現異構,其實只要通信協議能跨平臺就0K了,因爲平臺帶了服務發現,負載均衡,容錯限流等等,不過平臺也有侷限性,就比如一個大型的遺留系統,一部分在K8s內 ,一部分使用傳統模式部署 你就得鬱悶,或者得把兩塊分割開,走網關。所以回到你的問題,最佳實踐我覺得沒有,三種玩法都有自己的特色,也有自己的侷限性,還是得根據你的實際項目,合理取捨,架構設計很多時候其實就是在做取捨。
爲什麼需要 k8s?
容器編排調度引擎 —— k8s 的好處
應用部署模式的演進
虛擬化模式
容器化模式
相比虛擬機和容器
容器更加輕量級,啓動更快(秒級)
容器可移植性更好
管理大量的容器帶來了新的挑戰
容器編排調度引擎 —— k8s 的好處
簡化應用部署
提高硬件資源利用率
健康檢查和自修復
自動擴容縮容
服務發現和負載均衡
k8s 的集羣架構
主節點,承載 k8s 的控制和管理整個集羣系統的控制面板
工作節點,運行用戶實際的應用
k8s 集羣組件
pod —— k8s 調度的最小單元
一個 pod 包含一組容器,一個 pod 不會跨越多個工作節點
pod 不會跨越工作節點
瞭解 pod
pod 相當與邏輯主機,每個 pod 都有自己的 IP 地址
pod 內的容器共享相同的 IP 和端口空間
默認情況下,每個容器的文件系統與其他容器完全隔離