溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在Linux部署多節(jié)點(diǎn)Kubernetes集群與KubeSphere容器平臺(tái)

發(fā)布時(shí)間:2021-11-18 17:18:49 來(lái)源:億速云 閱讀:182 作者:柒染 欄目:云計(jì)算

這篇文章將為大家詳細(xì)講解有關(guān)如何在Linux部署多節(jié)點(diǎn)Kubernetes集群與KubeSphere容器平臺(tái),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

KubeSphere 是在 Kubernetes 之上構(gòu)建的以應(yīng)用為中心企業(yè)級(jí)容器平臺(tái),所有供為用戶提供簡(jiǎn)單易用的操作界面以及向?qū)讲僮鞣绞?。同時(shí),KubeSphere Installer 提供了 快速部署生產(chǎn)級(jí)別的 Kubernetes 集群和全?;萜髌脚_(tái)的功能,能夠快速幫助企業(yè)用戶快速搭建一套以應(yīng)用為中心的 DevOps 平臺(tái)。

KubeSphere 支持部署和運(yùn)行在包括公有云、私有云、VM、BM 和 Kubernetes 等任何基礎(chǔ)設(shè)施之上,可以部署在公有云托管的 Kubernetes 之上(如 GKE、EKS、ACK),也支持部署在私有化的 Kubernetes 之上(如 kubeadm、k3s、RKE 部署的集群)。同時(shí),KubeSphere 支持在線安裝與離線安裝。

手把手帶你 使用 KubeSphere Installer 在 3 臺(tái) Linux 機(jī)器部署一個(gè)多節(jié)點(diǎn)的 Kubernetes 集群,并開啟 KubeSphere 最小化安裝。

如何在Linux部署多節(jié)點(diǎn)Kubernetes集群與KubeSphere容器平臺(tái)

Multi-Node 即多節(jié)點(diǎn)部署,部署前建議您選擇集群中任意一個(gè)節(jié)點(diǎn)作為一臺(tái)任務(wù)執(zhí)行機(jī) (taskbox),為準(zhǔn)備部署的集群中其他節(jié)點(diǎn)執(zhí)行部署的任務(wù),且 Taskbox 應(yīng)能夠與待部署的其他節(jié)點(diǎn)進(jìn)行 ssh 通信

  • KubeSphere 2.1 默認(rèn)僅開啟最小化安裝,Installer 已支持自定義安裝各個(gè)可插拔的功能組件,用戶可根據(jù)業(yè)務(wù)需求和機(jī)器配置選擇安裝所需的組件,請(qǐng)確保開啟可插拔組件之前機(jī)器資源滿足最低要求,參考開啟可選組件的安裝。

  • 安裝時(shí)間跟網(wǎng)絡(luò)情況和帶寬、機(jī)器配置、安裝節(jié)點(diǎn)個(gè)數(shù)等因素有關(guān),可通過(guò)調(diào)高帶寬的方式,或在安裝前 配置鏡像加速器 來(lái)加快安裝速度。

說(shuō)明:

  • 本安裝示例僅作為快速測(cè)試部署的演示,因此將使用默認(rèn)的 OpenEBS 基于 Local Volume 提供持久化存儲(chǔ)服務(wù),OpenEBS 支持 動(dòng)態(tài)申請(qǐng) PV,方便初次安裝但沒(méi)有準(zhǔn)備存儲(chǔ)服務(wù)端的場(chǎng)景下進(jìn)行部署測(cè)試,正式環(huán)境建議配置使用 KubeSphere 支持的存儲(chǔ)類型,參考 持久化存儲(chǔ)配置說(shuō)明。

  • Multi-node 支持 Master 和 etcd 節(jié)點(diǎn)高可用配置,本示例為了方便多節(jié)點(diǎn)的快速測(cè)試安裝演示,僅部署單個(gè) Master 和單個(gè) etcd,正式環(huán)境建議配置 Master 和 etcd 節(jié)點(diǎn)的高可用,請(qǐng)參閱文檔的集群高可用部署配置。

前提條件

檢查安裝機(jī)器的網(wǎng)絡(luò)防火墻是否已關(guān)閉,若未關(guān)閉防火墻則需要開放相關(guān)的指定端口,參考 需開放的端口。

第一步: 準(zhǔn)備主機(jī)

參考以下節(jié)點(diǎn)規(guī)格準(zhǔn)備至少 3 臺(tái)符合要求的主機(jī)開始 multi-node 模式的部署。為防止軟件版本沖突,建議您選擇多臺(tái)干凈的機(jī)器進(jìn)行安裝。

說(shuō)明:

  • 所有節(jié)點(diǎn)需要時(shí)間同步,否則可能會(huì)安裝不成功;

  • 若使用 ubuntu 16.04 建議使用其最新的版本 16.04.5;

  • 若使用 ubuntu 18.04,則需使用 root 用戶;

  • 若 Debian 系統(tǒng)未安裝 sudo 命令,則需要在安裝前使用 root 用戶執(zhí)行 apt update && apt install sudo 命令安裝 sudo 命令后再進(jìn)行安裝;

  • 若選裝 DevOps 功能組件時(shí)需保證有一臺(tái)內(nèi)存大于 8G 的節(jié)點(diǎn),因?yàn)?Jenkins 默認(rèn)的 JVM 設(shè)置會(huì)需要 6~8 G 的整塊內(nèi)存,若可用內(nèi)存不足可能會(huì)造成該節(jié)點(diǎn)崩潰。

操作系統(tǒng)最小配置(每臺(tái))
CentOS 7.5 (64 bit)CPU:2 核, 內(nèi)存:4 G, 系統(tǒng)盤:40 G
Ubuntu 16.04/18.04 LTS (64 bit)CPU:2 核, 內(nèi)存:4 G, 系統(tǒng)盤:40 G
Red Hat Enterprise Linux Server 7.4 (64 bit)CPU:2 核, 內(nèi)存:4 G, 系統(tǒng)盤:40 G
Debian Stretch 9.5 (64 bit)CPU:2 核, 內(nèi)存:4 G, 系統(tǒng)盤:40 G

以下用一個(gè)示例介紹 multi-node 模式部署多節(jié)點(diǎn)環(huán)境,本示例準(zhǔn)備了 3 臺(tái) CentOS 7.5 的主機(jī)并以 root 用戶準(zhǔn)備安裝。登錄主機(jī)名為 Master 的節(jié)點(diǎn)作為任務(wù)執(zhí)行機(jī) Taskbox 來(lái)執(zhí)行安裝步驟。

在 安裝說(shuō)明 已經(jīng)介紹了 KubeSphere 集群架構(gòu)是由管理節(jié)點(diǎn) (Master) 和工作節(jié)點(diǎn) (Node) 構(gòu)成的,這 3 臺(tái)主機(jī)分別部署 1 個(gè) Master 節(jié)點(diǎn)和 2 個(gè) Node 節(jié)點(diǎn)。

假設(shè)主機(jī)信息如下所示:

主機(jī) IP主機(jī)名集群角色
192.168.0.1mastermaster,etcd
192.168.0.2node1node
192.168.0.3node2node

集群架構(gòu): 單 master 單 etcd 雙 node

如何在Linux部署多節(jié)點(diǎn)Kubernetes集群與KubeSphere容器平臺(tái)

第二步: 準(zhǔn)備安裝配置文件

1. 下載 KubeSphere 2.1.0 安裝包至待安裝機(jī)器,進(jìn)入 conf 目錄。

$ curl -L https://kubesphere.io/download/stable/v2.1.0 > installer.tar.gz \
&& tar -zxf installer.tar.gz && cd kubesphere-all-v2.1.0/conf

2. 編輯主機(jī)配置文件 conf/hosts.ini,為了對(duì)目標(biāo)機(jī)器及部署流程進(jìn)行集中化管理配置,集群中各個(gè)節(jié)點(diǎn)在主機(jī)配置文件 hosts.ini 中應(yīng)參考如下配置,建議使用 root 用戶進(jìn)行安裝。

說(shuō)明:

  • 若以非 root 用戶 (如 ubuntu 用戶) 進(jìn)行安裝,[all] 部分可參考配置文件 conf/hosts.ini 的注釋中 non-root 用戶示例部分編輯。

  • 如果在 taskbox 使用 root 用戶無(wú)法 ssh 連接到其他機(jī)器,也需要參考 conf/hosts.ini 的注釋中 non-root 用戶示例部分,但執(zhí)行安裝腳本 install.sh 時(shí)建議切換到 root 用戶。

  • master, node1, node2 作為集群各個(gè)節(jié)點(diǎn)的主機(jī)名,若需要自定義主機(jī)名則所有主機(jī)名需要都使用小寫形式。

以下示例在 CentOS 7.5 上使用 root 用戶安裝,每臺(tái)機(jī)器信息占一行,不能分行。

root 配置 hosts.ini 示例:

[all]
master ansible_connection=local  ip=192.168.0.1
node1  ansible_host=192.168.0.2  ip=192.168.0.2  ansible_ssh_pass=PASSWORD
node2  ansible_host=192.168.0.3  ip=192.168.0.3  ansible_ssh_pass=PASSWORD

[kube-master]
master

[kube-node]
node1
node2

[etcd]
master

[k8s-cluster:children]
kube-node
kube-master

說(shuō)明:

  • [all]: 中需要修改集群中各個(gè)節(jié)點(diǎn)的內(nèi)網(wǎng) IP 和主機(jī) root 用戶密碼:<br>主機(jī)名為 "master" 的節(jié)點(diǎn)作為已通過(guò) SSH 連接的 Taskbox 所以無(wú)需填寫密碼。<br> Node 節(jié)點(diǎn)的參數(shù)比如 node1 和 node2 的 ansible_hostip 都替換為當(dāng)前 node1 和 node2 的內(nèi)網(wǎng) IP,將 ansible_ssh_pass 相應(yīng)替換為 node1 和 node2 的 root 用戶密碼。

    參數(shù)解釋:<br> - ansible_connection: 與主機(jī)的連接類型,此處設(shè)置為 local 即本地連接 - ansible_host: 集群中將要連接的主機(jī)地址或域名 - ip: 集群中將要連接的主機(jī) IP - ansible_user: 默認(rèn)的 SSH 用戶名 (非 root),例如 ubuntu - ansible_become_pass: 默認(rèn)的 SSH 用戶登錄密碼 - ansible_ssh_pass: 待連接主機(jī) root 用戶的密碼

  • [kube-master][etcd]:應(yīng)將主機(jī)名 "master" 填入 [kube-master] 和 [etcd] 部分,"master" 節(jié)點(diǎn)作為 taskbox,用來(lái)執(zhí)行整個(gè)集群的安裝任務(wù),同時(shí) "master" 節(jié)點(diǎn)在 KubeSphere 集群架構(gòu)中也將作為 Master 節(jié)點(diǎn)管理集群和 etcd 節(jié)點(diǎn)負(fù)責(zé)保存集群的數(shù)據(jù)。

  • [kube-node]:將主機(jī)名 "node1","node2" 填入 [kube-node] 部分,作為 KubeSphere 集群的 node 節(jié)點(diǎn)。<br>

  • [local-registry]:離線安裝包中該參數(shù)值表示設(shè)置哪個(gè)節(jié)點(diǎn)作為本地鏡像倉(cāng)庫(kù),默認(rèn)值為 master 節(jié)點(diǎn)。建議給該節(jié)點(diǎn)的 /mnt/registry 單獨(dú)掛盤 (參考 fdisk 命令),使鏡像可保存在持久化存儲(chǔ)并節(jié)省機(jī)器空間。

第三步: 安裝 KubeSphere

KubeSphere 多節(jié)點(diǎn)部署會(huì)自動(dòng)化地進(jìn)行環(huán)境和文件監(jiān)測(cè)、平臺(tái)依賴軟件的安裝、Kubernetes 和 etcd 集群的自動(dòng)化部署,以及存儲(chǔ)的自動(dòng)化配置。Installer 默認(rèn)安裝的 Kubernetes 版本v1.15.5

說(shuō)明:

  • 通常情況您不需要修改任何配置,直接安裝即可。

  • 網(wǎng)絡(luò)插件默認(rèn)是 calico,存儲(chǔ)默認(rèn)用 OpenEBS 基于 Local Volume 提供持久化存儲(chǔ)服務(wù),若您需要自定義安裝參數(shù),如網(wǎng)絡(luò)、存儲(chǔ)、負(fù)載均衡器插件、可選功能組件等相關(guān)配置需在 conf/common.yaml 文件中指定或修改,參考 集群組件配置說(shuō)明。

  • 支持存儲(chǔ)類型:GlusterFS、Ceph RBD、NFS、Local Volume、QingCloud 云平臺(tái)塊存儲(chǔ) (QingCloud 公有云單節(jié)點(diǎn)掛盤限制為 10 塊)、QingStor NeonSAN,存儲(chǔ)配置相關(guān)的詳細(xì)信息請(qǐng)參考 存儲(chǔ)配置說(shuō)明。

  • 由于 Kubernetes 集群的 Cluster IP 子網(wǎng)網(wǎng)段默認(rèn)是 10.233.0.0/18,Pod 的子網(wǎng)網(wǎng)段默認(rèn)是 10.233.64.0/18,因此安裝 KubeSphere 的節(jié)點(diǎn) IP 地址范圍不應(yīng)與以上兩個(gè)網(wǎng)段有重復(fù),若遇到地址范圍沖突可在配置文件 conf/common.yaml 修改 kube_service_addresseskube_pods_subnet 的參數(shù)。

參考以下步驟開始 multi-node 部署。

說(shuō)明:由于 multi-node 的安裝時(shí)間跟網(wǎng)絡(luò)情況和帶寬、機(jī)器配置、安裝節(jié)點(diǎn)個(gè)數(shù)等因素都有關(guān),此處暫不提供時(shí)間標(biāo)準(zhǔn)。

1. 進(jìn)入安裝目錄,建議使用 root 用戶執(zhí)行 install.sh 安裝腳本:

$ cd scripts
$ ./install.sh

2. 輸入數(shù)字 2 選擇第二種 Multi-node 模式開始部署,安裝程序會(huì)提示您的環(huán)境是否前提條件,若滿足請(qǐng)輸入 "yes" 開始安裝。

################################################
         KubeSphere Installer Menu
################################################
*   1) All-in-one
*   2) Multi-node
*   3) Quit
################################################
https://kubesphere.io/               2018-10-14
################################################
Please input an option: 2

3. 驗(yàn)證 KubeSphere 集群部署是否成功:

(1) 待安裝腳本執(zhí)行完后,當(dāng)看到如下 "Successful" 界面,則說(shuō)明 KubeSphere 安裝成功。

successsful!
#####################################################
###              Welcome to KubeSphere!           ###
#####################################################

Console: http://192.168.0.1:30880
Account: admin
Password: P@88w0rd

NOTE:Please modify the default password after login.
#####################################################

提示:如需要再次查看以上的界面信息,可在安裝包目錄下執(zhí)行 cat kubesphere/kubesphere_running 命令查看。

(2) 若需要在外網(wǎng)訪問(wèn),在云平臺(tái)需要在端口轉(zhuǎn)發(fā)規(guī)則中將內(nèi)網(wǎng)端口 30880 轉(zhuǎn)發(fā)到源端口 30880,然后在防火墻開放這個(gè)源端口,確保外網(wǎng)流量可以通過(guò)該端口。

(3) 安裝成功后,瀏覽器訪問(wèn)對(duì)應(yīng)的 URL,如 http://{$公網(wǎng)IP}:30880,即可進(jìn)入 KubeSphere 登錄界面,可使用默認(rèn)的用戶名和密碼登錄 KubeSphere 控制臺(tái)體驗(yàn),登錄后請(qǐng)立即修改默認(rèn)密碼。參閱 快速入門 幫助您快速上手 KubeSphere。

注意:登陸 Console 后請(qǐng)?jiān)?"集群狀態(tài)" 查看服務(wù)組件的監(jiān)控狀態(tài),待所有組件啟動(dòng)完成后即可開始使用,通常所有服務(wù)組件都將在 15 分鐘內(nèi)啟動(dòng)完成。

如何在Linux部署多節(jié)點(diǎn)Kubernetes集群與KubeSphere容器平臺(tái)

UI 快覽

如何在Linux部署多節(jié)點(diǎn)Kubernetes集群與KubeSphere容器平臺(tái)

如何在Linux部署多節(jié)點(diǎn)Kubernetes集群與KubeSphere容器平臺(tái)

如何在Linux部署多節(jié)點(diǎn)Kubernetes集群與KubeSphere容器平臺(tái)

KubeSphere (https://github.com/kubesphere/kubesphere) 是一個(gè)開源的以應(yīng)用為中心的容器管理平臺(tái),支持部署在任何基礎(chǔ)設(shè)施之上,并提供簡(jiǎn)單易用的 UI,極大減輕日常開發(fā)、測(cè)試、運(yùn)維的復(fù)雜度,旨在解決 Kubernetes 本身存在的存儲(chǔ)、網(wǎng)絡(luò)、安全和易用性等痛點(diǎn),幫助企業(yè)輕松應(yīng)對(duì)敏捷開發(fā)與自動(dòng)化監(jiān)控運(yùn)維、端到端應(yīng)用交付、微服務(wù)治理、多租戶管理、多集群管理、服務(wù)與網(wǎng)絡(luò)管理、鏡像倉(cāng)庫(kù)、AI 平臺(tái)、邊緣計(jì)算等業(yè)務(wù)場(chǎng)景。

關(guān)于如何在Linux部署多節(jié)點(diǎn)Kubernetes集群與KubeSphere容器平臺(tái)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI