k4t系統架構 & 部署最佳實踐


《kaiiit船長》 容器自動管理軟件 (k4t,國產k8s)

k4t系統架構 & 部署最佳實踐

文檔修訂時間: 2021-11-20

關鍵詞 : k4t kaiiit 船長 captain powershell 最佳實踐 容器 docker ps1倚天劍 國產k8s ps1綉花針


k4t系統架構

k4t圖

問:完美版的k4t項目,由哪幾部分組件構成?

答:

1 master端。

2 node端。

3 動態負載均衡api網關。(外部 非必要組件)

4 動態dns。(外部)

5 監控端。


k4t部署相關問題之【master端】

概述:

k4t master相當於經理的手。干的是分配任務的活。采用懶惰的【觸發執行】機制。

下列情況下,k4t master可以關機,不影響node運行。

  • 任務分配完畢,或調整完畢。

  • 沒有啟用,通過【k4t監控端】,進行【node自動伸縮】功能。

  • 沒有執行,驅逐node任務(drain)。

  • 沒有執行,刪除node任務。

問:k4t master需要幾台?

答:最多1台。或執行任務完畢后就關機的,半台master。

問:1台k4t master的話,如何保證元數據冗余?

答:依靠k4t node。k4t master軟件內有,復制元數據到node的功能。只需要指定一個node ip地址即可。

可以靈活設定:可以設置1---n台node,每node可以設置1---n分鍾,不同的備份時間。這樣就可以有多個不同時段的,元數據歷史副本。

實驗環境-最簡實踐:不指定node,不備份元數據。

生產級別-最佳實踐:設定1台node,設置每1---2分鍾備份元數據。


k4t部署相關問題之【監控端】

概述:

【k4t 監控端】相當於經理(k4t master)的眼睛。

【k4t 監控端】由若干powershell腳本組成。

任務是檢查k4t master內,k4t node內,磁盤空間,內存剩余,cpu剩余,和node是否存活等。

問:【k4t 監控端】需要幾台?

答:1台。

【k4t 監控端】可以和【k4t master】分別安裝在,2台虛擬機內。
建議把【k4t 監控端】和【k4t master】分離。把【k4t 監控端】裝在你公司舊有的win,linux的zabbix監控機中。

【k4t 監控端】可以和【k4t master】安裝在同一台虛擬機中。這樣【k4t master】就丟失了【干完活關機】的功能。

實驗環境-最簡實踐:【k4t 監控端】可以和【k4t master】安裝在一台虛擬機中。
生產級別-最佳實踐:【k4t 監控端】可以和【k4t master】安裝在一台虛擬機中。。或分離。


k4t部署相關問題之【k4t網關】

概述:

【k4t網關】給k4t引入容器間的,東西向流量。負載平衡,限流等。
【k4t網關】可以支持任意第三方網關。本質上,2台虛擬機內的網關,可以不同廠家,不同版本。

問:【k4t網關】需要幾台?

答:0---2台。

問:什么情況下,需要0台【k4t網關】?

答:下列極端情況下。

  • 整個集群內,都采用ipv6地址。

  • 整個集群內,都采外網ipv4地址。如 202.x.x.x

  • 使用雲dnat網關,提供引入流量服務。

實驗環境-最簡實踐:1台虛擬機中,安裝【k4t 網關】,和【k4t dns】。
生產級別-最佳實踐:2台虛擬機中,安裝【k4t 網關】,和【k4t dns】。用於冗余高可用。采用相同廠家的網關軟件,軟件版本相同。


k4t部署相關問題之【k4t-dns】

概述:

【k4t-dns】幫k4t實現【服務發現】功能。
【k4t-dns】可以支持任意第三方dns。支持win server的dns server。
本質上,2台虛擬機內的dns,支持不同廠家,不同版本。

問:【k4t-dns】需要幾台?

答:1---2台。至少有1台。

實驗環境-最簡實踐:1台虛擬機中,安裝【k4t 網關】,和【k4t dns】。
生產級別-最佳實踐:2台虛擬機中,安裝【k4t 網關】,和【k4t dns】。用於冗余高可用。采用相同廠家的網關軟件,軟件版本相同。


k4t部署相關問題之【雙網關】,或【雙dns】,之間數據同步問題。

概述:

采用【客戶端分布式】技術。類似於etcd。原理就是分布式中的,基於redo-log,2步提交。

這樣做的好處是,支持不同廠家,不同版本。不需要第三方網關軟件帶有雙機高可用功能。不需要第三方dns軟件帶有雙機高可用功能。


k4t部署相關問題之【結論】

實驗環境-最簡實踐:總共2台虛擬機。

  • 1台虛擬機中,安裝【k4t master】,和【k4t 監控端】。

  • 1台虛擬機中,安裝【k4t網關】,和【k4t-dns】。

生產級別-最佳實踐:總共3台虛擬機。

  • 在linux + zabbix中,安裝powershell和【k4t 監控端】。

  • 1台虛擬機中,安裝alpine-linux,掛載數據盤並安裝【k4t master】。
    使用時,用alpine-linux的iso啟動。執行完【k4t master】任務,就關機。
    需要再次執行【k4t master】任務時,由【k4t 監控端】,執行開機命令開機。
    alpine-linux開機時間10---15秒。這樣節省雲機子費用。

  • 2台虛擬機中,安裝【k4t網關】,和【k4t-dns】。起冗余高可用功能。

生產級別-最佳實踐,的最終結論:

2台虛擬機裝(k4t 網關-dns),加1台虛擬機裝k4t master。總共3台。即可實現生產級別的高可用部署。


k4t即:《kaiiit生產級別的容器編排系統》
https://gitee.com/chuanjiao10/k4t

項目目前狀態:

未發布,誠征vc投資中。

籌到錢后,會在【k4t官方群:722528388】內,誠征內測用戶。

謝謝觀看。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM