前言
Kubernetes是一個開源的容器管理平臺,通過Kubernetes的跨集群管理功能,用戶可以方便地進行應用程序的復制、遷移和跨云平臺的部署。
而k3s作為Kubernetes的輕量級發行版,相比傳統的Kubernetes具有更小的二進制文件大小和更低的資源消耗。
使用 K3s 不僅能夠縮短啟動集群的時間,還能夠減少集群需要消耗的資源。是RISC-V軟件生態中不可或缺的一部分。
接下來就將教大家如何在SG2042上玩轉k3s。
一、本次實驗材料
1. 一臺SG2042服務器
2. 已經預先編譯好的k3s
已預先編譯的k3s二進制文件下載
https://github.com/CARV-ICS-FORTH/k3s/releases
二、實驗過程
1. 下載、運行k3s
首先我們下載預先編譯好的k3s包:
由于預編譯好的k3s包已被分為三個文件,因此需要將三個文件合并為一個文件
解壓,并給k3s-riscv64文件添加運行權限:
測試該文件是否能運行,如果出現說明,那就說明成功運行。
將k3s-riscv64文件復制到/usr/local/bin/下,并更名為k3s
注意:不要忘記加上sudo,否則會提示沒有權限。
再次測試,看看k3s是否能運行:
2. 下載、運行k3s安裝腳本
當然只有k3s二進制文件是不夠的,因此我們還需要使用安裝腳本以獲得完整的k3s體驗。
下載k3s安裝腳本:
curl -sfL
https://get.k3s.io > k3s-install.sh
運行該腳本:
chmod +x k3s-install.sh
注意,如果直接./k3s-install.sh,會提示不支持的架構,因此需要把前面的參數帶上。
INSTALL_K3S_EXEC="server --disable metrics-server" INSTALL_K3S_SKIP_DOWNLOAD="true" bash -x ./k3s-install.sh
systemctl status k3s

3.運行k3s容器
新建hello-sg2042.yaml打開并往里面復制以下內容:
改自:
https://raw.githubusercontent.com/CARV-ICS-FORTH/kubernetes-riscv64/main/examples/hello-kubernetes.yaml
apiVersion: v1 kind: Service metadata: name: hello spec: type: ClusterIP ports: - port: 8080 selector: app: hello --- apiVersion: apps/v1 kind: Deployment metadata: name: hello spec: replicas: 1 selector: matchLabels: app: hello template: metadata: labels: app: hello spec: containers: - name: hello-kubernetes image: carvicsforth/hello-kubernetes:1.10.1 env: - name: MESSAGE value: "Greeting from SG2042!"
保存退出后使用該模板啟動一個新的容器:
sudo kubectl apply -f hello-sg2042.yaml
注意:不要忘記sudo,不然就會提示沒有權限!
查看pods情況:
sudo kubectl get pods -o wide

(如果看到pod還沒顯示ip地址,你可以耐心等一會,直到顯示pod的ip地址)
使用curl拉取網頁,如果拉取到網頁,那就說明k3s容器運行成功:
4.開放外部計算機訪問
雖然本機可以通過curl訪問,但是外部計算機訪問不了,那如何讓外部計算機訪問該網頁呢?
這就需要修改hello-sg2042.yaml中的內容了,用編輯器打開hello-sg2042.yaml,然后按照以下內容修改:
apiVersion: v1 kind: Service metadata: name: hello spec: type: NodePort ports: - port: 8080 targetPort: 8080 nodePort: 30080 protocol: TCP selector: app: hello --- apiVersion: apps/v1 kind: Deployment metadata: name: hello spec: replicas: 1 selector: matchLabels: app: hello template: metadata: labels: app: hello spec: containers: - name: hello-kubernetes image: carvicsforth/hello-kubernetes:1.10.1 env: - name: MESSAGE value: "Greeting from SG2042!"
注意:nodePort可以自行修改你想要的,但是只能在30000-32767里選一個。
在瀏覽器中訪問http://175.8.161.253:30080(如果用的是你自己的端口號,請將30080改成你當時設置的nodePort)即可。
三、實驗總結:
得益于社區的幫助,k3s已經可以運行在sg2042平臺上,但是由于該Fork并未并入k3s官方代碼,因此k3s目前未正式支持riscv64。
參考資料:
kubernetes-riscv64下的運行指南
https://github.com/CARV-ICS-FORTH/kubernetes-riscv64#running
《RISC-V公測平臺發布》系列文章會持續跟大家分享澎峰RISC-V生態圈的開發者朋友們在RISC-V平臺的移植測試成果,目前已發布:1.
RISC-V公測平臺發布 · Stream帶寬完整測試
2.RISC-V公測平臺發布 · 我的世界MohistMC
3.RISC-V公測平臺發布 · 第一個WEB Server“Hello RISC-V world!”
4.RISC-V公測平臺發布 · 如何在SG2042上玩轉k3s(本篇)
未來計劃發布:
1.RISC-V公測平臺發布 · 第一個BLOG Server"RISC-V成長日記”
審核編輯:湯梓紅
-
編譯
+關注
關注
0文章
676瀏覽量
33864 -
RISC-V
+關注
關注
46文章
2524瀏覽量
48486 -
kubernetes
+關注
關注
0文章
243瀏覽量
9017
發布評論請先 登錄
RISC-V公測平臺發布:如何在SG2042上玩轉OpenMPI

RISC-V公測平臺發布 · 數據庫在RISC-V服務器上的適配評估

算能重磅發布行業首款服務器級RISC-V CPU算豐SG2042,助力RISC-V邁向高性能計算
openEuler RISC-V 23.03 創新版本亮相:全面提升硬件兼容性和桌面體驗
256核!賽昉發布全新RISC-V眾核子系統IP平臺
高清無碼:2023年玄鐵RISC-V生態大會,算能SG2042與澎峰科技的高性能計算型服務器共同亮相

成功適配算能SG2042服務器板卡!deepin for RISC-V新進展
RISC-V聯盟年會看點回顧 2023年是RISC-V高性能計算元年
算能重磅發布行業首款服務器級RISC-V CPU算豐SG2042
openEuler成功適配SG2042服務器板卡加速軟件包構建
openEuler RISC-V 23.03 創新版本亮相:全面提升硬件兼容性和桌面體驗
RISC-V公測平臺發布 使用YCSB測試SG2042上的MySQL性能

算能 SG2042 / Milk-V Pioneer 的含金量還在不斷提升:RISC-V 生態逐步完善,玩大型游戲已經不遠了!

首款RISC-V架構服務器,助力行業精準適配AI場景

評論