Endpoints是實現實際服務的端點集合。
Kubernetes在創建Service時,根據Service的標簽選擇器(Label Selector)來查找Pod,據此創建與Service同名的EndPoints對象。當Pod的地址發生變化時,EndPoints也隨之變化。Service接收到請求時,就能通過EndPoints找到請求轉發的目標地址。
Service不僅可以代理Pod,還可以代理任意其他后端,比如運行在Kubernetes外部Mysql、Oracle等。這是通過定義兩個同名的service和endPoints來實現的。
在實際的生產環境使用中,通過分布式存儲來實現的磁盤在mysql這種IO密集性應用中,性能問題會顯得非常突出。所以在實際應用中,一般不會把mysql這種應用直接放入kubernetes中管理,而是使用專用的服務器來獨立部署。而像web這種無狀態應用依然會運行在kubernetes當中,這個時候web服務器要連接kubernetes管理之外的數據庫,有兩種方式:一是直接連接數據庫所在物理服務器IP,另一種方式就是借助kubernetes的Endpoints直接將外部服務器映射為kubernetes內部的一個服務。
通過API SERVER 對Endpoints進行響應操作
1:創建