在容器環(huán)境下開(kāi)啟快照功能后,由于pod重啟后ip會(huì)發(fā)生變化,會(huì)導(dǎo)致一些問(wèn)題。比如上一次快照的consul1節(jié)點(diǎn)ip是127.0.0.1,重啟后consul1的實(shí)際ip換成了127.0.0.2.但是你查看consul ui,發(fā)現(xiàn)他顯示的ip還是127.0.0.1.
下面我們通過(guò)源碼看一下究竟是為啥。
-
首先找到ui調(diào)用的接口 127.0.0.1/v1/internal/ui/nodes
image.png -
查看這個(gè)方法是通過(guò)rpc調(diào)用了nodedump
image.png -
這個(gè)nodedump其實(shí)是一個(gè)blockingquery(consul的阻塞查詢(xún))
image.png -
這個(gè)查詢(xún)?nèi)atch node節(jié)點(diǎn)變化
image.png 由于第一次快照后節(jié)點(diǎn)并沒(méi)有變化,而數(shù)據(jù)用的是快照的數(shù)據(jù),所以就導(dǎo)致了頁(yè)面顯示和實(shí)際的對(duì)不上。但是不影響實(shí)際的是用。
解決辦法:只能重啟節(jié)點(diǎn)了。否則沒(méi)變化是不會(huì)更新的。



