k8s集羣管理平臺:Kubesphere與Rancher對比

Rancher和Kubesphere都是比較優秀的k8s集羣管理平臺,對於降低k8s集羣運維複雜度,降低運維成本,使開發能儘快上手、部署服務都是非常

下面表格對比一下二者的區別。僅僅是個人的一些淺見,歡迎討論。

  Rancher生態 Kubesphere
部署方式 需要提前安裝好docker,通過Rancher或RKE方式部署,提前定義好網絡、服務、備份、版本等參數,主機角色,比較方便運維進行管理維護

兩種部署方式:
1. 直接通過rancher部署集羣,設置好相關參數
優點:簡單方便,設置好主機角色,網絡參數,服務參數即可,如果是測試環境,可以直接用默認配置,部署時間大大縮短
確定:可維護性沒有RKE部署方式好

2. 使用RKE方式部署
優點:配置好相關的cluster.yml文件,可以直接部署。可維護性好,後期增加節點、修改集羣參數比較方便
缺點:沒有通過rancher直接部署方式直觀,易操作

整體優點:etcd備份與恢復機制,CA證書輪轉操作都比較簡單,對於運維進行集羣維護比較友好
整體缺點:角色權限分配粒度不夠細,開發進行應用部署較Kubesphere,操作不夠簡化
Kubeshpere
通過ansible進行部署,類似於kubeadm部署方式,只要在部署前配置好節點角色,需要安裝的組件參數即可

優點:部署簡單,對於開發進行程序發佈比較友好,易上手。但是感覺部署複雜度較RKE高,ansible簡化了相關安裝流程。
缺點:監控告警機制不夠完善,告警方式只有郵件,日誌輸出很大程度只能用內置的es(資源使用比較多),只有一種
高可用性 master,etcd高可用部署,設置好主機角色,直接修改配置文件或使用命令添加主機即可,Rancher服務可以內置或外置,單節點Rancher master,etcd高可用部署,修改配置文件,設置好主機角色,需要配置api網關負載均衡,然後執行相關腳本即可
集羣維護性 維護簡單。etcd備份與恢復,有專門的文檔,命令。CA證書到期轉換有專門的命令或者在界面操作即可。集羣擴容可以修改配置文件執行命令即可,或者直接在界面操作。一個Rancher可以維護多個k8s集羣。 維護相對簡單。etcd備份有定時任務。集羣擴容,修改配置文件,執行相關腳本即可。工作節點執行addnode.sh,etcd、master節點執行install.sh,ansible方式類似於聲明式,不會對原有集羣服務有太大影響(可能會有服務重啓)。集羣升級有專用腳本,但是感覺還是不太完善。一個Kubesphere只能對應一個k8s集羣。
應用部署便捷性 相對簡單 簡單,易上手,對開發人員很友好,界面比較直觀。
賬號管理 權限分配比較細,但是比不上Kubesphere 權限分配很細,直觀
日誌 有多種輸出方式。沒有日誌查詢界面,不過可以用kibana查詢。 可靠的只有es這一種。日誌查詢界面比較友好
監控與告警 有多種告警方式,支持webhook,企業微信,郵件等 只有一種告警方式:郵件
整體感覺 對於運維來說,比較友好。集羣維護比較簡單易上手,中文文檔很完善,而且Rancher可以維護多個k8s集羣。但是項目權限分配還不夠細,有些內容並不想讓開發看到,但是權限設置不了。 對於運維來說,集羣維護可以直接參考kubeadm部署的方式進行維護,包括集羣擴容、高可用、備份與恢復。對於項目管理,賬號權限分配的比較細,而且對於k8s瞭解比較少的人也能很快上手。整體界面比較直觀。
個人總結 面向運維較友好 面向應用部署較友好

 

知乎上面也有相關的討論:https://www.zhihu.com/question/348609092

 

個人感覺:
1. Rancher更側重於底層k8s集羣的維護,相關的k8s周邊生態沒有Kubesphere整合的好。當然,這樣的話可選擇性也更多了。

2. Kubesphere相對於剛上手的人來說,比較傻瓜化,而且包括一些CI、CD的東西都做了整合。

3. 兩種方案都是很不錯的,結合用起來可能更好吧。可以根據需要來進行權衡。

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