Amazon-Web-Services

升級在 docker 容器內執行的多 etcd 集群

  • January 20, 2021

目前我的 k8s 集群已開啟v1.16.x,我想將其升級到v1.17.xETCD 必須升級到 3.4(目前為 3.3)。我的設置有點複雜,因為我在主節點之外執行 ETCD,它是一個3 節點 etcd 集群,作為容器在 3 個單獨的 EC2 中執行

我知道有關於將 ETCD 從 3.3 升級到 3.4 的簡潔文件,但它沒有描述當它在容器內執行時如何完成。花了相當多的時間在Google上搜尋它,但沒有運氣。Kubeadm 沒有太大幫助,因為 kubeadm 計劃沒有顯示 ETCD 的主要版本升級。

我認為進行備份然後更改清單中的圖像版本會有所幫助,但不太確定。

請問有人可以指導我嗎?

很久之後,我得到的解決方案是通過升級 kubeadm 和 kubelet 來v1.17.x發布kubeadm upgrade plan顯示 etcd 更新的文章,3.4.3我將採用這種方法。

你自己的建議其實就是答案,停止容器,把鏡像改成3.4再啟動。等待節點連接,您就完成了。只有當集群中的所有 etcd 節點都執行 3.4 時,它才會真正“升級”到 3.4。

注意:我自己實際上並沒有進行過這種特定的升級,但我以前做過這樣的升級,甚至從 2.x 到 3.x,所以我不認為這裡會出現問題。如果您不確定,只需使用 docker 在您的桌面本地重建 3.3 集群並嘗試一下!這就是執行容器的美妙之處,它們可以在任何地方執行。

引用自:https://serverfault.com/questions/1050210