如何進(jìn)行網(wǎng)站運(yùn)營與規(guī)劃百度seo關(guān)鍵詞外包
前言
Kubernetes是一個開源的容器管理平臺,通過Kubernetes的跨集群管理功能,用戶可以方便地進(jìn)行應(yīng)用程序的復(fù)制、遷移和跨云平臺的部署。
而k3s作為Kubernetes的輕量級發(fā)行版,相比傳統(tǒng)的Kubernetes具有更小的二進(jìn)制文件大小和更低的資源消耗。
使用 K3s 不僅能夠縮短啟動集群的時間,還能夠減少集群需要消耗的資源。是RISC-V軟件生態(tài)中不可或缺的一部分。
接下來就將教大家如何在SG2042上玩轉(zhuǎn)k3s。
一、本次實(shí)驗(yàn)材料
1. 一臺SG2042服務(wù)器
2. 已經(jīng)預(yù)先編譯好的k3s
已預(yù)先編譯的k3s二進(jìn)制文件下載
https://github.com/CARV-ICS-FORTH/k3s/releases
二、實(shí)驗(yàn)過程
1. 下載、運(yùn)行k3s
首先我們下載預(yù)先編譯好的k3s包:
由于預(yù)編譯好的k3s包已被分為三個文件,因此需要將三個文件合并為一個文件?
解壓,并給k3s-riscv64文件添加運(yùn)行權(quán)限:
測試該文件是否能運(yùn)行,如果出現(xiàn)說明,那就說明成功運(yùn)行。
將k3s-riscv64文件復(fù)制到/usr/local/bin/下,并更名為k3s?
注意:不要忘記加上sudo,否則會提示沒有權(quán)限。
再次測試,看看k3s是否能運(yùn)行:
2. 下載、運(yùn)行k3s安裝腳本
當(dāng)然只有k3s二進(jìn)制文件是不夠的,因此我們還需要使用安裝腳本以獲得完整的k3s體驗(yàn)。
下載k3s安裝腳本:
curl -sfL
https://get.k3s.io > k3s-install.sh
?運(yùn)行該腳本:
chmod +x k3s-install.sh
?注意,如果直接./k3s-install.sh,會提示不支持的架構(gòu),因此需要把前面的參數(shù)帶上。
INSTALL_K3S_EXEC="server --disable metrics-server" INSTALL_K3S_SKIP_DOWNLOAD="true" bash -x ./k3s-install.sh
?查看狀態(tài),如提示active那就說明k3s正在運(yùn)行:
systemctl status k3s
3.運(yùn)行k3s容器
新建hello-sg2042.yaml打開并往里面復(fù)制以下內(nèi)容:
改自:
https://raw.githubusercontent.com/CARV-ICS-FORTH/kubernetes-riscv64/main/examples/hello-kubernetes.yaml
apiVersion: v1
kind: Service
metadata:name: hello
spec:type: ClusterIPports:- port: 8080selector:app: hello
---
apiVersion: apps/v1
kind: Deployment
metadata:name: hello
spec:replicas: 1selector:matchLabels:app: hellotemplate:metadata:labels:app: hellospec:containers:- name: hello-kubernetesimage: carvicsforth/hello-kubernetes:1.10.1env:- name: MESSAGEvalue: "Greeting from SG2042!"
?保存退出后使用該模板啟動一個新的容器:
sudo kubectl apply -f hello-sg2042.yaml
?注意:不要忘記sudo,不然就會提示沒有權(quán)限!
?查看pods情況:
sudo kubectl get pods -o wide
(如果看到pod還沒顯示ip地址,你可以耐心等一會,直到顯示pod的ip地址)
使用curl拉取網(wǎng)頁,如果拉取到網(wǎng)頁,那就說明k3s容器運(yùn)行成功:
4.開放外部計算機(jī)訪問
雖然本機(jī)可以通過curl訪問,但是外部計算機(jī)訪問不了,那如何讓外部計算機(jī)訪問該網(wǎng)頁呢?
這就需要修改hello-sg2042.yaml中的內(nèi)容了,用編輯器打開hello-sg2042.yaml,然后按照以下內(nèi)容修改:
?
apiVersion: v1
kind: Service
metadata:name: hello
spec:type: NodePortports:- port: 8080targetPort: 8080nodePort: 30080protocol: TCPselector:app: hello
---
apiVersion: apps/v1
kind: Deployment
metadata:name: hello
spec:replicas: 1selector:matchLabels:app: hellotemplate:metadata:labels:app: hellospec:containers:- name: hello-kubernetesimage: carvicsforth/hello-kubernetes:1.10.1env:- name: MESSAGEvalue: "Greeting from SG2042!"
注意:nodePort可以自行修改你想要的,但是只能在30000-32767里選一個。
在瀏覽器中訪問http://175.8.161.253:30080(如果用的是你自己的端口號,請將30080改成你當(dāng)時設(shè)置的nodePort)即可。
三、實(shí)驗(yàn)總結(jié):
得益于社區(qū)的幫助,k3s已經(jīng)可以運(yùn)行在sg2042平臺上,但是由于該Fork并未并入k3s官方代碼,因此k3s目前未正式支持riscv64。
?參考資料:
kubernetes-riscv64下的運(yùn)行指南
https://github.com/CARV-ICS-FORTH/kubernetes-riscv64#running
正文完?
《RISC-V公測平臺發(fā)布》系列文章會持續(xù)跟大家分享澎峰RISC-V生態(tài)圈的開發(fā)者朋友們在RISC-V平臺的移植測試成果,目前已發(fā)布:
1.?RISC-V公測平臺發(fā)布 · Stream帶寬完整測試
2.?RISC-V公測平臺發(fā)布 · 我的世界MohistMC
3.?RISC-V公測平臺發(fā)布 · 第一個WEB Server“Hello RISC-V world!”
4.?RISC-V公測平臺發(fā)布 · 如何在SG2042上玩轉(zhuǎn)k3s(本篇)
未來計劃發(fā)布:
1.?RISC-V公測平臺發(fā)布 · 第一個BLOG Server"RISC-V成長日記”