《kaiiit船長》 容器自動管理軟件 (k4t,國產k8s)
k4t系統架構 & 部署最佳實踐
文檔修訂時間: 2021-11-20
關鍵詞 : k4t kaiiit 船長 captain powershell 最佳實踐 容器 docker ps1倚天劍 國產k8s ps1綉花針
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】內,誠征內測用戶。
謝謝觀看。