2017-05-31 35 views
1

任何人都可以幫助我如何更改從「kubectl get nodes」顯示的版本號?二進制文件是從源代碼編譯的。 「kubectl版本」顯示正確的版本,但「kubectl get nodes」不是。「kubectl get nodes」沒有顯示正確的版本號

以下是我從kubectl version得到:

客戶端版本:version.Info {專業: 「1」,小調: 「7+」,GitVersion: 「V1.7.0-alpha.3.18 + 20457ee68dac55」 GitCommit:「20457ee68dac552 7f6d9307fddcd2bd92389e5d4」,GitTreeState:「clean」,BuildDate:「2017-05-09T22:27:33Z」,GoVersion:「go1.8.1」,編譯器:「gc」,Platf orm:「linux/amd64」}服務器版本:version.Info {Major:「1」,Minor:「7+」,GitVersion:「v1.7.0-alpha.3.18 + 20457ee68dac55」,GitCommit:「20457ee68dac552 7f6d9307fddcd2bd92389e5d4」,GitTreeState:「clean」,BuildDate: 「2017-05-09T22:24:55Z」,GoVersion:「go1.8.1」,編譯器:「gc」,Platf orm:「linux/amd64」}

這裏是我從kubectl get nodes得到:

kubectl get nodes

我使用這個腳本部署集羣: https://github.com/kubernetes/kubernetes/blob/release-1.2/cluster/kube-up.sh

該腳本將最終使用...釋放-1.2 /集羣/ Ubuntu的/download-release.sh下載二進制文件。我評論了對download-release.sh的調用,並將自己編譯的二進制文件從最新的源代碼編譯到ubuntu/binaries文件夾中。

但是,如果我沒有評論該調用download-release.sh,並讓整個kube-up.sh用一個較老版本的kubernetes(本例中爲1.2.6)完成啓動集羣,則此版本號將會被「kubectl get nodes」記住,甚至在後來我評論了download-release.sh的調用,並用最新的二進制代碼替換。

回答

0

你能粘貼你的實際輸出嗎? kubectl get nodes不返回版本號。也許你的意思是kubectl describe nodes

無論如何,kubectl version將返回領導者apiserver的版本,而不是集羣中的單個節點的版本。你的情況發生了什麼,你已經在你的apiserver上安裝了期望的版本,但你的節點沒有。或者你已經在你的節點上安裝了新版本,但你沒有正確地重新啓動它們。

需要更多的細節來幫助你解決這個問題。祝你好運!

+2

謝謝。是的,'kubectl version'只顯示'apiserver'的版本。 'kubectl get nodes'的版本是'kubelet'的版本。而錯誤的版本是由於沒有使用正確的「kubelet」二進制文件。 – whls