由于專案要用到kubernets,最近學習了一下,有些問題不太理解,求大神指教
1.kubernets在部署容器的時候,能否確保節點同一pod分散在不同node上,如果相同的pod在一臺主機上,宕機了不就gg了
2.資料庫一類的組件是不是不應該用kubernets管理,感覺kubernets的負載均衡只適用于無狀態組件
3.pod之間如何通信,比如有兩個微服務A、B在不同的pod上,A要向B發送請求,如何實作,程式并不知道對方IP,連接的時候怎么連,是用服務名嗎,需要指定埠嗎,還是說要先做域名決議,如果需要自己做域名決議,那么DNS地址怎么配,看流程是kube-proxy代理的,需要程式主動連代理的嗎
4.RC可以檢測pod數量,有pod掛掉會再拉一個,這一點我有點疑惑,為什么pod會掛,是kubernets不穩定嗎,還有,kubernets應該檢測不到docker內程式有沒有的吧,是不是還是要自己寫守護行程
uj5u.com熱心網友回復:
沒人的么,沒用過Kubernets管理docker,求大佬指導uj5u.com熱心網友回復:
是我的問題問的太傻了么,怎么沒個人理我一下
uj5u.com熱心網友回復:
1 k8s會盡量保證pod被部署到不同的節點,如果你只有1個節點或者節點資源不足,就被辦法保證了。2 有狀態的服務不是不能用k8s,只是自動調度和節點漂移,可能會丟失磁盤映射和持久化檔案。如果要用k8s管理,也只能通過指定固定部署節點的方式解決。
3 pod間的通信,k8s提供了基于dns的服務發現方式,可以使用使用服務名稱呼叫。不使用dns的情況下,k8s啟動的時候會把service的訪問ip和埠以環境變數的形式注入到其它容器中,可以在容器中拿到訪問地址。但這有個缺陷,就是如果你要訪問的服務在你之后啟動,則你的容器中不會存在該環境變數,也就無法訪問。
4 rc會保證pod的數量,為什么pod會掛掉?記憶體溢位啊、資源不足啊,物理節點宕機啊,等等。這時候k8s會自動調度,保證副本數。k8s提供探針檢測容器內應用存活,以便pod是否需要重啟,需要自己實作腳本在k8s部署時。
5 為什么沒人理,估計這地方人少吧~
6 k8s官方檔案寫得很詳細,我谷歌翻譯的都能看明白,但是還是很多需要碰到了才能理解。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/47533.html
標籤:Docker
