最近在學(xué)習(xí)云邊協(xié)同,需要搭建一個云邊協(xié)同的實驗環(huán)境,kubernetes+KubeEdge+sedna,安裝過程中遇到了一系列的問題,特此記錄總結(jié)。
kubernetes 的安裝與部署:
實驗環(huán)境
云端:Centos7+ kubernetes 1.23.8 + Docker
這里我們的centos使用的是 centos7.9, 不同版本的系統(tǒng)對k8s影響較大,具體看實際情況而定。 有的還需要更新系統(tǒng)內(nèi)核。
部署教程
前置需求
- 了解image、container、pod等概念
- 基礎(chǔ)指令:容器運行時工具基本用法
- 能耐心讀容器日志
- 能耐心讀大量文檔
部署k8s環(huán)境,但k8s本身是一個相當(dāng)前沿的項目而且架構(gòu)仍然在改變,所以網(wǎng)上的教程會有很多舊版本的坑,加之官方文檔比較晦澀難懂,因此下面這篇文章給出了一個詳細(xì)而又準(zhǔn)確的安裝部署教程,
參考地址: kubernetes 的安裝與部署:https://blog.csdn.net/feiyuchuixue/article/details/126373118
這篇博客面向環(huán)境搭建,你不會學(xué)到太多K8S具體內(nèi)容和工作原理,但你能知道自己一條命令下去做了什么,如何從log中獲取有用信息并貼出一些官方文檔鏈接,文章中提到了主節(jié)點master和從節(jié)點node的安裝和配置,但是本文安裝kubeedge只需要單節(jié)點 kubernetes就可以,從節(jié)點可選擇性安裝。
關(guān)于kubernetes的安裝與部署有一篇文章已經(jīng)講解很詳細(xì)了,并且我也是全程參考該文檔實驗kubernetes的主備節(jié)點的安裝,該文章把其中可能遇到的問題都描述清楚了,根據(jù)該文檔可以傻瓜式操作完成,本文就不再敘述kubernetes的安裝與部署。
kubeedge的安裝部署
1、部署要求
請確保已經(jīng)在云端部署好k8s集群。
KubeEdge部署要求
- 機器配置:
-
- 云端: CPU2核+,內(nèi)存2GB+,硬盤30GB+
-
- 邊緣: CPU1核+,內(nèi)存256MB+
- 網(wǎng)絡(luò)要求:
-
- 云端: 外網(wǎng)訪問權(quán)限,開放 10000-10004 端口
-
- 邊緣:外網(wǎng)訪問權(quán)限
- 操作系統(tǒng): ubuntu、 centos等
- CPU架構(gòu): x86 64、arm64、arm32
版本兼容
參考地址:https://github.com/kubeedge/kubeedge#kubernetes-compatibility
由于上文我們按照的k8s版本是1.23.8,所以kubeedge的版本應(yīng)該是1.13以上,這里版本一定要對應(yīng)上,不對應(yīng)會出現(xiàn)很多莫名其妙的問題。
2、安裝
2.1 下載keadm并解壓
使用命令下載
wget https://github.com/kubeedge/kubeedge/releases/download/v1.13.0/keadm-v1.13.0-linux-amd64.tar.gz
如果網(wǎng)絡(luò)狀況不好,可提前下載好,下載地址:https://github.com/kubeedge/kubeedge/releases/,下載請確保一定要和k8s版本對應(yīng)。
我選擇的版本是1.13,如下圖所示,標(biāo)注的兩個要下載下來備用。
下載好之后通過rz命令或者其他工具上傳到云端服務(wù)器中,
然后解壓縮
tar -zxvf keadm-v1.13.0-linux-amd64.tar.gz
將其配置進(jìn)入環(huán)境變量,方便使用
cd keadm-v1.13.0-linux-amd64/keadm/
cp keadm /usr/sbin/ #將其配置進(jìn)入環(huán)境變量,方便使用
輸入keadm version
,如果能輸出版本信息,說明安裝成功。如下圖所示:
2.2 設(shè)置云端
注意:默認(rèn)情況下需要開放10000,10002端口
在集群云端節(jié)點使用如下命令,將安裝cloudcore,生成證書并安裝CRD,–advertise-address指定云端的公開地址(邊緣端可ping通的內(nèi)網(wǎng)地址也可)
keadm init --advertise-address=172.23.70.235 --kube-config=$HOME/.kube/config --kubeedge-version=1.13.0
使用此命令會從gitHub上下載很多文件,網(wǎng)絡(luò)有問題的用戶,建議提前下載好,放置/etc/kubeedge
目錄下。
F0608 11:40:15.689702 5530 keadm.go:27] failed to exec 'bash -c cd /etc/kubeedge/crds/devices && wget -k --no-check-certificate --progress=bar:force https://raw.githubusercontent.com/kubeedge/kubeedge/release-1.7/build/crds/devices/devices_v1alpha2_device.yaml', err: --2021-06-08 11:39:54-- https://raw.githubusercontent.com/kubeedge/kubeedge/release-1.7/build/crds/devices/devices_v1alpha2_device.yaml
類似這種報錯都是文件沒有下載下來...
用紅框標(biāo)記的文件可以提前從gitHub上下載好,
-
kubeedge-v1.13.0-linux-amd64.tar.gz文件位置:https://github.com/kubeedge/kubeedge/releases/
-
cloudcore.service在源碼目錄,先選擇對應(yīng)版本下載源碼
下載好之后放到/etc/kubeedge
目錄下
此刻,相信到現(xiàn)在再執(zhí)行上面的那個init命令應(yīng)該會很快順利完成,如果還有什么問題,可以參考我其他博客中遇到的問題解決辦法。
2.3 獲取token
邊緣節(jié)點加入云端節(jié)點需要通過token認(rèn)證方式,使用如下命令獲取邊緣節(jié)點加入集群的token:
keadm gettoken
至此云端節(jié)點部分已經(jīng)安裝完畢。
3 設(shè)置邊緣端
3.1 同理先下載keadm,解壓,
為方便再重復(fù)一遍
# 1、下載
wget https://github.com/kubeedge/kubeedge/releases/download/v1.13.0/keadm-v1.13.0-linux-amd64.tar.gz
# 2、解壓
tar -zxvf keadm-v1.13.0-linux-amd64.tar.gz
# 3、將其配置進(jìn)入環(huán)境變量,方便使用
cd keadm-v1.13.0-linux-amd64/keadm/
cp keadm /usr/sbin/ #將其配置進(jìn)入環(huán)境變量,方便使用
3.2 使用如下命令加入到集群
keadm join --cloudcore-ipport=172.23.70.235(云端ip):10000 --kubeedge-version=1.13.0 --token=步驟2.3云端生成的token
這里也可能會因為網(wǎng)絡(luò)原因下載失敗,可以將文件提前下載好,創(chuàng)建/etc/kubeedge目錄,將提前準(zhǔn)備好的文件放入即可,邊緣端所需文件如下,其余文件會自動生成。
這一步用到的edgecore.service 就是上面說提到的讓都下載下來的。
在邊緣節(jié)點使用如下命令,查看節(jié)點狀態(tài),
kubectl get nodes
輸出如下圖所示表示順利安裝完成。
如遇其他問題可參考本文其他博客查看有無同樣的問題和解決方案!
之后有時間再整理kubeedge+sedna云邊端環(huán)境的安裝和部署以及使用問題等。文章來源:http://www.zghlxwxcb.cn/news/detail-491126.html
參考資料
首先推薦幾個寫的很好的參考鏈接:文章來源地址http://www.zghlxwxcb.cn/news/detail-491126.html
- kubernetes 的安裝與部署:https://blog.csdn.net/feiyuchuixue/article/details/126373118
- keadm安裝KubeEdge:https://blog.csdn.net/qq_46618998/article/details/120549346
- KubeEdge-Sedna搭建指南–從零開始搭建邊云協(xié)同應(yīng)用:https://zhuanlan.zhihu.com/p/572681911
(https://docs.kubeedge.io/zh/docs/setup/keadm_zh/) - 小白的邊緣計算初探:kubeedge1.7使用keadm安裝(半手動安裝):https://www.codeleading.com/article/42775790842/
- kubeEdge官網(wǎng):[https://docs.kubeedge.io/zh/docs/setup/keadm_zh/]
到了這里,關(guān)于kubernetes+KubeEdge云邊環(huán)境的安裝與部署的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!