二進位方式一鍵離線安裝高可用的多kubernetes集羣,支持定時安裝、添加kubernetes節點、删除kubernetes節點、銷毀kubernetes主機、重建kubernetes主機、卸載集羣等。
(不需要在目標主機上安裝任何軟件,只需要有純淨的裸機即可離線完成高可用kubernetes集羣的部署!)
English Documents | 繁体中文文档 | 简体中文文档 | 日本語の文書
相容性說明:
kube-install版本 | 支持的Kubernetes版本 | 支持的作業系統 | 相關文檔 |
kube-install v0.9.* | kubernetes v1.28, v1.27, v1.26, v1.25, v1.24 | CentOS 7 , RHEL 7 , CentOS 8 , RHEL 8 , SUSE Linux 15 , Ubuntu 20 server | 說明檔案 組件清單 |
kube-install v0.8.* | kubernetes v1.24, v1.23, v1.22, v1.20, v1.19, v1.18 | CentOS 7 , RHEL 7 , CentOS 8 , RHEL 8 , SUSE Linux 15 , Ubuntu 20 server | 查看詳情 |
kube-install v0.7.* | kubernetes v1.23, v1.22, v1.20, v1.19, v1.18, v1.17 | CentOS 7 , RHEL 7 , CentOS 8 , RHEL 8 , SUSE Linux 15 , Ubuntu 20 server | 查看詳情 |
kube-install v0.6.* | kubernetes v1.22, v1.21, v1.20, v1.19, v1.18, v1.17, v1.16, v1.15, v1.14 | CentOS 7 , RHEL 7 , CentOS 8 , RHEL 8 , SUSE Linux 15 | 查看詳情 |
kube-install v0.5.* | kubernetes v1.21, v1.20, v1.19, v1.18, v1.17, v1.16, v1.15, v1.14 | CentOS 7 , RHEL 7 | 查看詳情 |
kube-install v0.4.* | kubernetes v1.21, v1.20, v1.19, v1.18, v1.17, v1.16, v1.15, v1.14 | CentOS 7 , RHEL 7 | 查看詳情 |
kube-install v0.3.* | kubernetes v1.18, v1.17, v1.16, v1.15, v1.14 | CentOS 7 | 查看詳情 |
kube-install v0.2.* | kubernetes v1.14 | CentOS 7 | 查看詳情 |
kube-install v0.1.* | kubernetes v1.14 | CentOS 7 | 查看詳情 |
注意:kube-install支持CentOS 7、CentOS 8、SUSE 15、RHEL 7和RHEL 8作業系統環境,點擊這裡查看kube-install所支持的作業系統發行版本的清單。
你可以從https://github.com/cloudnativer/kube-install/releases 這裡下載kube-install-*.tgz
套裝軟體。
舉例,下載kube-install-allinone-v0.9.0.tgz
套裝軟體進行安裝:
# cd /root/
# curl -O https://github.com/cloudnativer/kube-install/releases/download/v0.9.0/kube-install-allinone-v0.9.0.tgz
# tar -zxvf kube-install-allinone-v0.9.0.tgz
# cd /root/kube-install/
注意:如果你本地的網路環境不是太好的話,建議你使用支持中斷點續傳的下載軟體進行套裝軟體下載,這樣可以獲得更好的下載體驗。
如果你有四臺服務器,k8s-master安裝在三臺服務器(192.168.1.11、192.168.1.12、192.168.1.13)上,k8s-node安裝在四臺服務器(192.168.1.11、192.168.1.12、192.168.1.13、192.168.1.14)上。服務器的作業系統是純淨的CentOS Linux或RHEL(RedHat Enterprise Linux),具體如下表所示:
IP地址 | 需要安裝的組件 | 作業系統版本 | root密碼 |
192.168.1.11 | k8s-master,k8s-node,kube-install | CentOS Linux release 7 or Red Hat Enterprise Linux(RHEL) 7 | cloudnativer |
192.168.1.12 | k8s-master,k8s-node | CentOS Linux release 7 or Red Hat Enterprise Linux(RHEL) 7 | cloudnativer |
192.168.1.13 | k8s-master,k8s-node | CentOS Linux release 7 or Red Hat Enterprise Linux(RHEL) 7 | cloudnativer |
192.168.1.14 | k8s-node | CentOS Linux release 7 or Red Hat Enterprise Linux(RHEL) 7 | cloudnativer |
注意:這裡使用192.168.1.11作為kube-install源安裝機。事實上,您可以將任何主機(包括kubernetes集羣之外的任何主機)用來作為kube-install源安裝機!
首先你需要使用root用戶對kube-install源安裝機本地環境進行初始化操作,進入解壓後的軟件目錄執行`kube-install -init`命令:
# cd /root/kube-install/
# ./kube-install -init -ostype "centos7"
注意:kube-install軟體支援rhel7
,rhel8
,centos7
,centos8
,ubuntu20
,suse15
等版本的作業系統,在做初始化操作的時候,請確保-ostype
參數設置正確。
然後,執行systemctl start kube-install
命令來運行kube-install的Web管理平臺服務。kube-install的Web管理平臺具備SSH打通、定時安裝部署、Node擴容、Master修復、集羣卸載等强大的功能,你可以在Web管理平臺上獲得更好的安裝體驗。
# cd /root/kube-install/
# ./kube-install -init -ostype "centos7"
#
# systemctl start kube-install.service
#
# systemctl status kube-install.service
● kube-install.service - kube-install One click fast installation of highly available kubernetes cluster.
Loaded: loaded (/etc/systemd/system/kube-install.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2021-08-20 14:30:55 CST; 21min ago
Docs: https://cloudnativer.github.io/
Main PID: 2768 (kube-install)
CGroup: /system.slice/kube-install.service
└─2768 /go/src/kube-install/kube-install -daemon
...
此時,你就可以使用網頁瀏覽器打開http://kube-install源安裝機IP:9080
,訪問kube-install的Web管理平臺了。 使用用戶名 admin
和默認密碼 CloudNativeR
登入!(你可以後期通過web平臺修改密碼)
注意:kube-install的Web管理平臺服務默認監聽TCP 9080
。如果你想修改這個監聽地址的話,可以通過修改/etc/systemd/system/kube-install.service
檔案中的kube-install -daemon -listen ip:port
參數來進行設定,點擊這裡可以查看詳細檔案!
然後,點擊Web介面右上角的的Install Kubernetes
按鈕開始kubernetes集羣的安裝。
注意:在你開始給目標主機安裝kubernetes集羣之前,請先打通kube-install源安裝機本地到目標主機的SSH免密通道。
你可以自己手工打通到目標主機的SSH通道,也可以點擊右上角的Open SSH Channel of Host
按鈕來進行打通,點擊這裡可以查看更加詳細的檔案。
在彈出的安裝表單視窗中填寫好安裝所需的參數資訊:
說明:
- 請選擇好你需要安裝的Kubernetes版本,現時kube-install支持v1.17~1.24版本的Kubernetes安裝部署,其他版本的Kubernete暫未進行驗證。
- 請選擇好你需要安裝的CNI挿件,現時kube-install支持
Flannel
、Calico
、Kube-router
、Weave
、Cilium
等CNI挿件類型。 如果需要安裝Cilium
,請將Linux內核陞級到4.9或以上版本。 - 請選擇好你的作業系統環境。 由於低版本的
Centos 7
和RHEL 7
可能缺少內核模塊,kube-install對Centos 7
和RHEL 7
作業系統內核的提供了自動升級到4.19的功能,你可以選擇使用此功能,也可能自己手工優化作業系統內核。
注意:如果不設定定時安裝的話,默認為立即開始安裝。 你如果想進行定時安裝,也可以在下方的選擇定時安裝的日期與時間。
你可以點擊這裡查看更多通過kube-install的Web管理平臺安裝部署的詳細資訊。
除了可以使用Web平臺安裝kubernetes集羣外,你還可以通過kube-install的命令列來安裝kubernetes集羣,kube-install的命令列使用起來比較簡單方便。
首先你需要使用root用戶對kube-install源安裝機本地環境進行初始化操作,進入解壓後的軟件目錄執行`kube-install -init`命令:
# cd /root/kube-install/
# ./kube-install -init -ostype "centos7"
注意:kube-install軟體支援rhel7
,rhel8
,centos7
,centos8
,ubuntu20
,suse15
等版本的作業系統,在做初始化操作的時候,請確保-ostype
參數設置正確。
在你開始給目標主機安裝kubernetes集羣之前,請先打通kube-install源安裝機本地到目標主機的SSH免密通道。 你可以自己手工打通到目標主機的SSH通道,也可以通過`kube-install -exec sshcontrol`命令來打通:
# cd /root/kube-install/
# ./kube-install -exec sshcontrol -sship "192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14" -sshpass "cloudnativer"
你也可以通過kube-install的Web管理平臺來打通到目標主機的SSH通道,點擊這裡查看使用Web管理平臺打通SSH通道的方法!
在kube-install源安装机上使用root用户执行下面这条命令即可:
# cd /root/kube-install/
# ./kube-install -exec install -master "192.168.1.11,192.168.1.12,192.168.1.13" -node "192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14" -k8sver "1.28" -ostype "centos7" -label "192168001011"
注意:
- kube-install軟體支援
rhel7
,rhel8
,centos7
,centos8
,ubuntu20
,suse15
等版本的作業系統,在做安裝部署操作的時候,請確保-ostype
參數設置正確。 由於低版本的centos7和redhat7可能缺少內核模塊,kube-install
對centos7和rhel7作業系統內核的提供了自動升級到4.19的功能,你可以選擇-upgradekernel
參數使用此功能,也可能自己手工優化作業系統內核。 - 請選擇好你需要安裝的CNI挿件,現時
kube-install
支持Flannel、Calico、Kube-router、Weave、Cilium等CNI挿件類型。 如果需要安裝“Cilium”,請將Linux內核陞級到4.9或以上版本。
另外,如果你需要自定義製定Kubernetes集羣安裝在目標主機上的目錄路徑的話,可以帶上-softdir
參數來設定。
通過查看loginkey.txt檔案可以獲取kube-dashboard的登入地址和金鑰。
# cat /opt/kube-install/loginkey.txt
如下麵的截圖所示為kube-dashboard的登入地址和金鑰:
Kube-install不僅可以很方便的安裝單機和高可用的kubernetes集羣,還可以支持k8s-node的擴容與銷毀、k8s-master的銷毀與修復、kubernetes集羣的卸載等。
舉例,現在需要給第[2]章節中安裝好的kubernetets集羣,新增2個k8s-node節點(192.168.1.15 and 192.168.1.16),相關資訊如下:
IP地址 | 需要安裝的組件 | 作業系統版本 | root密碼 |
192.168.1.11 | k8s-master,k8s-node,kube-install | CentOS Linux release 7 or Red Hat Enterprise Linux(RHEL) 7 | cloudnativer |
192.168.1.12 | k8s-master,k8s-node | CentOS Linux release 7 or Red Hat Enterprise Linux(RHEL) 7 | cloudnativer |
192.168.1.13 | k8s-master,k8s-node | CentOS Linux release 7 or Red Hat Enterprise Linux(RHEL) 7 | cloudnativer |
192.168.1.14 | k8s-node | CentOS Linux release 7 or Red Hat Enterprise Linux(RHEL) 7 | cloudnativer |
192.168.1.15 | k8s-node | CentOS Linux release 7 or Red Hat Enterprise Linux(RHEL) 7 | cloudnativer |
192.168.1.16 | k8s-node | CentOS Linux release 7 or Red Hat Enterprise Linux(RHEL) 7 | cloudnativer |
在kube-install源主機上使用root用戶執行如下命令:
# kube-install -exec addnode -node "192.168.1.15,192.168.1.16" -k8sver "1.28" -ostype "centos7" -label "192168001011"
注意:kube-install軟體支援rhel7
,rhel8
,centos7
,centos8
,ubuntu20
,suse15
等版本的作業系統,在做安裝部署操作的時候,請確保-ostype
參數設置正確。
另外,如果你需要自定義製定Kubernetes集羣安裝在目標主機上的目錄路徑的話,可以帶上-softdir
參數來設定。
安裝完畢之後的部署架構如下圖所示:
除了使用kube-install -exec addnode
命令進行k8s-node節點擴容外,你也同樣可以使用kube-install的Web管理平臺來對k8s-node節點進行擴容,點擊"Add Node"按鈕填寫表單即可完成k8s-node的擴容。點擊這裡可以查看使用kube-install的Web管理平臺來擴容k8s-node節點的方法。
你可以點擊“Enable Terminal”和“Web Terminal”來使用web終端管理k8s-node服務器。
注意:你可以點擊這裡查看更多關於銷毀k8s-node和k8s-master、修復k8s-master、卸載集羣的操作。
你可以執行kube-install -help
命令查看kube-install的使用幫助檔案,你也可以點擊這裡查看更加詳細的命令列幫助文檔。
./data/
目錄是用來存儲kube-install
安裝部署的所有狀態資訊的,包括所有kubernetes集羣的配寘等資訊。 你可以將./ data/
目錄通過檔存儲的形式共亯起來,再借助於一些負載均衡軟件實現主備切換或負載均衡集羣效果。 你可以點擊這裡查看更加詳細的架構檔案。
如果你在使用過程中遇到問題,可以點擊https://github.com/cloudnativer/kube-install/issues向我們提交Issues,也可以Fork原始程式碼,然後嘗試修復BUG之後,向我們提交PR。
# git clone your-fork-code
# git checkout -b your-new-branch
# git commit -am "Fix bug or add some feature"
# git push origin your-new-branch
歡迎給我們提交Issues和PR。
謝謝每一位貢獻者!