k8s(Failover)

1.pod 和 deployment 的關係是什麼

1.1 創建pod的時候一定會創建 deployment 麼,創建deployment的時候一定會創建 pod麼

pod是可以單獨創建並進行生命週期管理的
單獨創建pod的時候就不會有deployment出現,但是創建deployment的時候一定會創建pod,因爲pod是一個基礎的單位。
任何的控制器單位的具體實現必須落到pod去實現

2. Failover

2.1節點掛機

這個實驗可以完成如果一個node服務器掛掉了,我們就可以讓還存活的服務器提供服務,如果所有的node節點都掛機了,我們還可以讓主節點提供服務。
現在開始實驗,我們首先server2 的網絡連接關閉:
在這裏插入圖片描述
等待一段時間,Kubernetes會檢查到k8s-node2不可用,將k8s-node2上的Pod標記爲Unknown狀態,並在k8s-node1上新創建兩個Pod,維持總副本數爲3
在這裏插入圖片描述
在這裏插入圖片描述
Pod的生命週期過程包括:通過模板進行定義,然後分配到一個Node上運行,就不會離開這個Node,直到被刪除。當某個Pod失敗,首先會被Kubernetes清理掉,之後ReplicationController將會在其它機器上(或本機)重建Pod,重建之後Pod的ID發生了變化,那將會是一個新的Pod。所以,Kubernetes中Pod的遷移,實際指的是在新Node上重建Pod

2.2 節點恢復

當k8s-node2恢復後,Unknown的Pod會被刪除,不過已經運行的Pod不會重新調度回k8s-node2
在這裏插入圖片描述
再次注意:刪除和創建是需要時間的!!!一執行完就立馬去看 可能結果不會很快展現的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章