前言
在數(shù)字化轉(zhuǎn)型的大潮中,華為云憑借其強(qiáng)大的技術(shù)底蘊(yùn)與創(chuàng)新精神,不斷推出滿足各類用戶需求的優(yōu)質(zhì)云服務(wù)產(chǎn)品,其中華為云 Flexus 云服務(wù)器 X 實(shí)例便是專為追求高效能與靈活性的中小企業(yè)及開發(fā)者量身定制的理想選擇。依托于先進(jìn)的架構(gòu)設(shè)計(jì)與優(yōu)化的資源管理能力,F(xiàn)lexus 云服務(wù)器 X 實(shí)例不僅提供了堅(jiān)實(shí)的基礎(chǔ)設(shè)施支撐,還通過搭載 openEuler 操作系統(tǒng)展現(xiàn)了對(duì)開源技術(shù)生態(tài)的堅(jiān)定支持。在此基礎(chǔ)上,本文將詳細(xì)介紹如何在華為云 Flexus 云服務(wù)器 X 實(shí)例上基于 openEuler 系統(tǒng)部署 K8s 管理面板 KubePi,以此來簡化 Kubernetes 集群的管理和監(jiān)控工作,進(jìn)一步提升運(yùn)維效率及應(yīng)用交付速度,助力企業(yè)在云時(shí)代快速成長。
一、Flexus 云服務(wù)器 X 實(shí)例介紹
1.1 Flexus 云服務(wù)器 X 實(shí)例簡介
·官網(wǎng)地址:華為云Flexus云服務(wù)器X實(shí)例
華為云 Flexus 云服務(wù)器 X 實(shí)例是新一代面向中小企業(yè)和開發(fā)者的柔性算力云服務(wù)器。它能夠智能感知業(yè)務(wù)負(fù)載的變化,自動(dòng)調(diào)整資源配置。這款服務(wù)器特別適用于中低負(fù)載的應(yīng)用場(chǎng)景,例如電商直播、企業(yè)網(wǎng)站建設(shè)、開發(fā)測(cè)試環(huán)境、游戲服務(wù)器以及音視頻服務(wù)等。X 實(shí)例的設(shè)計(jì)理念旨在為用戶提供更加靈活和高效的計(jì)算資源管理方式。通過智能調(diào)整,它可以更好地滿足不同業(yè)務(wù)的需求,提高資源利用率。
1.2 Flexus 云服務(wù)器 X 實(shí)例特點(diǎn)
·提供豐富的公共鏡像:Flexus 云服務(wù)器 X 實(shí)例提供多種公共鏡像供用戶選擇,方便快速部署各種應(yīng)用和服務(wù)。
·可靈活自定義 vCPU 內(nèi)存配比:用戶可以根據(jù)自己的需要靈活調(diào)整虛擬 CPU 和內(nèi)存的配比,以滿足不同場(chǎng)景的需求。
·智能感知業(yè)務(wù)動(dòng)態(tài)升降配:Flexus 云服務(wù)器 X 實(shí)例能夠智能感知業(yè)務(wù)的負(fù)載情況,并根據(jù)需要自動(dòng)升降配,以滿足業(yè)務(wù)的需求,提高系統(tǒng)的穩(wěn)定性和性能。
·負(fù)載范圍更高:相對(duì)于 Flexus 應(yīng)用服務(wù)器 L 實(shí)例,F(xiàn)lexus 云服務(wù)器 X 實(shí)例能夠處理更高的負(fù)載,適用于更復(fù)雜和繁忙的場(chǎng)景。
1.3 Flexus 云服務(wù)器 X 實(shí)例使用場(chǎng)景
Flexus 云服務(wù)器 X 實(shí)例針對(duì)不同的使用場(chǎng)景展現(xiàn)出其獨(dú)特的優(yōu)勢(shì):
1.電商直播:利用 X 實(shí)例搭建電商交易平臺(tái),可以有效應(yīng)對(duì)電商市場(chǎng)的瞬息萬變,從容處理業(yè)務(wù)壓力波動(dòng),確保交易過程順暢無阻。
2.企業(yè)建站:面向博客、論壇和企業(yè)門戶等應(yīng)用場(chǎng)景,X 實(shí)例幫助企業(yè)高效傳播價(jià)值信息,促進(jìn)信息共享與交流,支持構(gòu)建多功能傳播和交互平臺(tái)。
3.個(gè)人開發(fā)測(cè)試:開發(fā)者在開發(fā)和測(cè)試過程中所需的環(huán)境資源可以通過 X 實(shí)例便捷獲取,不僅提高了搭建效率,而且降低了成本。
4.游戲服務(wù)器:適用于搭建游戲后臺(tái)服務(wù)器,強(qiáng)大的計(jì)算能力可以輕松應(yīng)對(duì)大量玩家同時(shí)在線的情況,同時(shí)支持平滑擴(kuò)容,快速應(yīng)對(duì)玩家數(shù)量增長的需求,以及提供出色的網(wǎng)絡(luò)加速能力以提升用戶體驗(yàn)。
二、KubePi 介紹
2.1 KubePi 簡介
KubePi 是一個(gè)現(xiàn)代化的 K8s 面板,允許管理員導(dǎo)入多個(gè) Kubernetes 集群并通過權(quán)限控制將不同 cluster 和 namespace 的權(quán)限分配給指定用戶。同時(shí),它支持開發(fā)人員管理集群中運(yùn)行的應(yīng)用程序并進(jìn)行故障排查,幫助他們更好地應(yīng)對(duì) Kubernetes 集群中的復(fù)雜性。
2.2 KubePi 主要特點(diǎn):
·多集群管理:KubePi 允許管理員導(dǎo)入多個(gè) Kubernetes 集群,并在同一界面上集中管理這些集群。
·細(xì)粒度權(quán)限控制:支持將不同集群(cluster)和命名空間(namespace)的權(quán)限分配給指定用戶,確保每個(gè)用戶只能訪問其授權(quán)范圍內(nèi)的資源。
·應(yīng)用程序管理:開發(fā)人員可以使用 KubePi 來管理在 Kubernetes 集群中運(yùn)行的應(yīng)用程序,并進(jìn)行故障排查。
·易用性:提供直觀的用戶界面,使開發(fā)人員和運(yùn)維人員能夠更容易地理解和操作 Kubernetes 集群中的各種復(fù)雜資源。
·可擴(kuò)展性:KubePi 的設(shè)計(jì)考慮到了可擴(kuò)展性,允許通過插件或自定義功能來擴(kuò)展其功能。
·安全性:內(nèi)置的安全機(jī)制確保了用戶的權(quán)限得到有效的管理和控制,防止未經(jīng)授權(quán)的訪問和操作。
·實(shí)時(shí)監(jiān)控與報(bào)警:支持實(shí)時(shí)監(jiān)控集群狀態(tài),并提供報(bào)警機(jī)制,幫助用戶及時(shí)發(fā)現(xiàn)和解決問題。
·社區(qū)支持:作為一個(gè)開源項(xiàng)目,KubePi 得到了廣泛的社區(qū)支持,用戶可以從社區(qū)獲取最新的功能更新和技術(shù)支持。
三、本次實(shí)踐介紹
3.1 本次實(shí)踐簡介
1.本次實(shí)踐為個(gè)人測(cè)試學(xué)習(xí)環(huán)境,旨在快速部署應(yīng)用,生產(chǎn)環(huán)境請(qǐng)謹(jǐn)慎;2.本次實(shí)踐環(huán)境為華為云 Flexus 云服務(wù)器 X 實(shí)例,使用的操作系統(tǒng)為 openEuler 22.03 LTS;3.在本次實(shí)踐開始前,已提前部署單機(jī)版 K3s 輕量級(jí) k8s 環(huán)境;4.本次實(shí)踐需要在單機(jī) kubernetes 環(huán)境中安裝 KubePi 面板。
3.2 本次環(huán)境規(guī)劃
·本次實(shí)踐需要提前準(zhǔn)備好以下環(huán)境:
·需提前配置好 openEuler 系統(tǒng)的基礎(chǔ) Linux 環(huán)境:安裝并設(shè)置 openEuler 操作系統(tǒng),包括更新軟件包、網(wǎng)絡(luò)配置及基本工具的安裝。
·需提前部署 Docker 環(huán)境:安裝 Docker 并確保其服務(wù)能夠正常運(yùn)行,允許用戶通過命令行管理容器。
·需提前部署單機(jī)版輕量級(jí) k8s 環(huán)境:選擇合適的輕量級(jí) Kubernetes 發(fā)行版(如 Minikube 或 K3s)并完成其在本地的安裝與配置。
·本次環(huán)境規(guī)劃如下:
四、遠(yuǎn)程連接華為云 Flexus 云服務(wù)器 X 實(shí)例
4.1 購買 Flexus 云服務(wù)器 X 實(shí)例
進(jìn)入華為云官網(wǎng):https://activity.huaweicloud.com/,登錄自己的華為云賬號(hào),進(jìn)入華為云首頁。
·鏡像選擇:本次實(shí)踐使用 openEuler 作為公共鏡像,請(qǐng)根據(jù)實(shí)際需求自定義選擇合適的操作系統(tǒng)鏡像。
·鏡像切換說明:參考的公共鏡像原為 Huawei Cloud EulerOS,但本次實(shí)踐中已切換至 openEuler。
·基礎(chǔ)配置參考:購買時(shí)可參考以下基礎(chǔ)配置進(jìn)行選擇。
1.計(jì)費(fèi)模式:包年/包月,這里選擇此模式;2.區(qū)域:華北—北京四,可用區(qū):隨機(jī)即可;3.實(shí)例規(guī)格:關(guān)閉性能模式,選擇自定義,4vCPUs | 12GiB;4.鏡像:公共鏡像,Huawei Cloud EulerOS,版本,Huawei Cloud EulerOS 2.0 Standard 64 bit(10GiB);5.應(yīng)用加速:這里選擇不加速;6.存儲(chǔ):系統(tǒng)盤,通用型 SSD100G;7.網(wǎng)絡(luò):選擇默認(rèn)即可;8.安全組:選擇默認(rèn)即可;9.彈性公網(wǎng) IP:選擇“現(xiàn)在購買”,全動(dòng)態(tài) BGP,帶寬 3Mbit/s;10.云服務(wù)器名稱:可自定義設(shè)置,這里選擇默認(rèn)的名稱;11.登錄憑證:自定義設(shè)置密碼;12.云備份:暫不購買;其余配置默認(rèn)即可。
·確認(rèn)配置及購買:在確認(rèn)配置頁面仔細(xì)檢查 Flexus 云服務(wù)器 X 實(shí)例的各項(xiàng)設(shè)置,確保無誤后點(diǎn)擊“立即購買”,完成付款流程即可成功購買。
4.2 查看 Flexus 云服務(wù)器 X 實(shí)例狀態(tài)
進(jìn)入華為云 Flexus 云服務(wù)的控制臺(tái),選擇 Flexus 云服務(wù)器 X 實(shí)例,可以看到已經(jīng)正在運(yùn)行的 Flexus 云服務(wù)器 X 實(shí)例。
4.3 使用 Xshell 遠(yuǎn)程連接
·復(fù)制 Flexus 云服務(wù)器 X 實(shí)例的彈性公網(wǎng) IP 地址
·主要填寫 Flexus 云服務(wù)器 X 實(shí)例的彈性公網(wǎng) IP 地址,輸入其登錄用戶和密碼,連接即可。
五、檢查 Flexus 云服務(wù)器 X 實(shí)例系統(tǒng)環(huán)境
5.1 檢查操作系統(tǒng)版本
檢查 Flexus 云服務(wù)器 X 實(shí)例的操作系統(tǒng)版本,本次實(shí)踐選擇的版本為 openEuler 22.03 LTS
[root@flexusx-51a1 ~]# cat /etc/os-releaseNAME="openEuler"VERSION="22.03 LTS"ID="openEuler"VERSION_ID="22.03"PRETTY_NAME="openEuler 22.03 LTS"ANSI_COLOR="0;31"
檢查當(dāng)前操作系統(tǒng)的內(nèi)核版本,當(dāng)前內(nèi)核版本為 5.10.0-60.109.0.136.oe2203.x86_64。
[root@flexusx-51a1 ~]# uname -r5.10.0-60.109.0.136.oe2203.x86_64
5.2 檢查 Docke 環(huán)境
部署該項(xiàng)目需要提前安裝 Docker 環(huán)境,檢查 Docker 版本,當(dāng)前安裝的 Docker 版本為26.1.3。
[root@flexusx-51a1 ~]# docker -vDocker version 26.1.3, build b72abbb
檢查 Docker 服務(wù)狀態(tài),確保 Docker 服務(wù)正常。
[root@flexusx-51a1 ~]# systemctl status docker●docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2024-09-04 21:23:44 CST; 15min agoTriggeredBy:●docker.socketDocs: https://docs.docker.comMain PID: 10018 (dockerd)Tasks: 10Memory: 196.3MCGroup: /system.slice/docker.service└─10018 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
檢查 docker compose 版本,當(dāng)前默認(rèn)安裝版本為 v2.27.0`。
[root@flexusx-51a1 ~]# docker compose versionDocker Compose version v2.27.0
5.3 檢查 kubernetes 環(huán)境
·檢查 k8s 節(jié)點(diǎn)狀態(tài)
[root@flexusx-51a1 ~]# kubectl get nodes -owideNAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSIONCONTAINER-RUNTIMEflexusx-51a1 Ready control-plane,master 8d v1.30.4+k3s1 192.168.0.169 openEuler 22.03 LTS 5.10.0-60.109.0.136.oe2203.x86_64containerd://1.7.20-k3s1
·檢查所有系統(tǒng) pod 狀態(tài)
[root@flexusx-51a1 ~]# kubectl get pods -n kube-systemNAME READY STATUS RESTARTS AGEcoredns-576bfc4dc7-qslbt 1/1 Running 1 (5d2h ago) 8dhelm-install-traefik-crd-mttv8 0/1 Completed 0 8dhelm-install-traefik-pj458 0/1 Completed 1 8dlocal-path-provisioner-6795b5f9d8-ncz9c 1/1 Running 1 (5d2h ago) 8dmetrics-server-557ff575fb-6ld6f 1/1 Running 1 (5d2h ago) 8dsvclb-traefik-36590967-z5zlr 2/2 Running 2 (5d2h ago) 8dtraefik-5fb479b77-rllb5 1/1 Running 1 (5d2h ago) 8d
六、安裝 KubePi 面板
6.1 拉取 KubePi 鏡像
執(zhí)行以下命令,拉取 KubePi 鏡像 kubeoperator/kubepi-server:latest`。
[root@flexusx-51a1 ~]# docker pull kubeoperator/kubepi-serverUsing default tag: latestlatest: Pulling from kubeoperator/kubepi-serverc1d6d1b2d5a3: Pull completeecad9dbd4fbc: Pull complete2c97ac695f37: Pull completefb66eb13cfa7: Pull completeb3476d192f02: Pull complete6b882537789c: Pull completeDigest: sha256:8ec15899499b454f24ae157181a3da7a90d4993a5e29d377990642eb38a7857bStatus: Downloaded newer image for kubeoperator/kubepi-server:latestdocker.io/kubeoperator/kubepi-server:latest
6.2 創(chuàng)建部署目錄
創(chuàng)建部署目錄/data/kubepi,作為存放 docker-compose.yaml 文件目錄。
mkdir -p /data/kubepi && cd /data/kubepi
6.3 編輯 docker-compose.yaml 文件
如果需要使用 docker-cli方式部署,可參考以下命令。本次實(shí)踐采用 docker compose方式部署,以便于管理。
docker run -d --name kubepi -p 5698:80 --restart always --privileged kubeoperator/kubepi-server
本次使用 docker compose 方式部署,需要新建及編輯 docker-compose.yaml 文件。在部署文件中,可以自定義修改宿主機(jī)映射端口等信息,注意防止端口沖突。
vim docker-compose.yaml
version: '3.9'services:kubepi-server:image: kubeoperator/kubepi-serverports:- '5698:80'restart: alwayscontainer_name: kubepiprivileged: true
6.4 創(chuàng)建 KubePi 容器
執(zhí)行以下命令,快速創(chuàng)建 KubePi 容器。
[root@flexusx-51a1 kubepi]# docker compose up -dWARN[0000] /data/kubepi/docker-compose.yaml: `version` is obsolete[+] Running 2/2?Network kubepi_default Created 0.0s?Container kubepi Started 0.2s
6.5 查看 KubePi 容器狀態(tài)
檢查 KubePi 容器狀態(tài),確保 KubePi 容器正常啟動(dòng)。
[root@flexusx-51a1 kubepi]# docker compose psWARN[0000] /data/kubepi/docker-compose.yaml: `version` is obsoleteNAME IMAGE COMMAND SERVICE CREATED STATUS PORTSkubepi kubeoperator/kubepi-server "tini -g -- kubepi-s…" kubepi-server 31 seconds ago Up 30 seconds 0.0.0.0:5698->80/tcp, :::5698->80/tcp
6.6 查看 KubePi 容器日志
檢查 KubePi 容器日志,確保 KubePi 服務(wù)正常運(yùn)行。
[root@flexusx-51a1 kubepi]# docker compose logsWARN[0000] /data/kubepi/docker-compose.yaml: `version` is obsoletekubepi | config file not found in , skipkubepi | time="2024-09-17T18:57:38+08:00" level=info msg="current db version: 0"kubepi | time="2024-09-17T18:57:38+08:00" level=info msg="executing db migration: [1] Create default user and cluster"kubepi | time="2024-09-17T18:57:38+08:00" level=info msg="executing db migration: [2] Add role repo manager"kubepi | time="2024-09-17T18:57:38+08:00" level=info msg="update db to version: 2"kubepi | Now listening on: http://0.0.0.0kubepi | Application started. Press CTRL+C to shut down.
七、訪問 KubePi 首頁
7.1 關(guān)閉防火墻與 selinux
·關(guān)閉防火墻
systemctl stop firewalld && systemctl disable firewalld
·關(guān)閉 selinux
setenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
7.2 Flexus 云服務(wù)器 X 實(shí)例安全組配置
進(jìn)入 Flexus 云服務(wù)器 X 實(shí)例控制臺(tái),進(jìn)行安全組規(guī)則配置。在安全組入方向規(guī)則上,放行 5698 端口。
7.3 訪問 KubePi 初始頁
瀏覽器訪問地址:http://彈性公網(wǎng) IP 地址:5220,將 IP 替換為自己服務(wù)器 IP 地址,進(jìn)入 KubePi 登錄頁。
7.4 登錄 KubePi
KubePi 默認(rèn)的登錄用戶名:密碼為:admin/ kubepi,登錄后即可訪問 KubePi 首頁。
八、添加本地 k8s 集群
8.1 查看 k8s 集群配置文件
默認(rèn) k3s 集群的配置文件位置在:/etc/rancher/k3s/k3s.yaml,由 K3s 安裝的 kubectl 將自動(dòng)使用該文件。
cat /etc/rancher/k3s/k3s.yaml
8.2 在 KubePi 添加 k8s 集群
在集群列表中,選擇導(dǎo)入集群。
名稱:自定義,這里填寫 K3S;認(rèn)證模式:kubeconfig 文件;config 內(nèi)容:復(fù)制剛才查詢到的 k3s.yaml 文件內(nèi)容;填寫完畢后,確認(rèn)即可。
注意事項(xiàng):復(fù)制 k3s 配置文件內(nèi)容時(shí)候,注意將 server 地址改為自己的云服務(wù)器內(nèi)網(wǎng) IP 地址,否則會(huì)添加失敗。
8.3 KubePi 查看 k8s 集群狀態(tài)
在集群列表中,點(diǎn)擊添加的 k8s 集群名稱,可以查看詳細(xì)情況。
九、創(chuàng)建 flaskapp 測(cè)試應(yīng)用
9.1 創(chuàng)建命名空間
在集群的 Namespace 資源對(duì)象中,點(diǎn)擊“創(chuàng)建”選項(xiàng),開始創(chuàng)建命名空間。
編輯命令空間名稱,這里填寫 flaskapp,提交創(chuàng)建即可。
9.2 創(chuàng)建工作負(fù)載
選擇 Deployments 資源對(duì)象,點(diǎn)擊“創(chuàng)建”選項(xiàng)。
·基礎(chǔ)信息:
1.名稱:flaskapp
2.命名空間:flaskapp
3.標(biāo)簽:這里新增標(biāo)簽 pro:apptest
4.副本數(shù):1
5.其他配置:使用默認(rèn)設(shè)置
·容器組—基礎(chǔ)信息配置:
1.Spec:標(biāo)準(zhǔn)容器
2.容器名稱:flaskapp
3.容器鏡像:jcdemo/flaskapp
4.其他配置:使用默認(rèn)設(shè)置
·容器組—服務(wù)端口配置:
1.名稱:app
2.容器端口:5000
3.主機(jī)端口:5000
4.其他配置:使用默認(rèn)設(shè)置
以上工作負(fù)載全部配置完成后,確認(rèn)創(chuàng)建即可。創(chuàng)建完畢后,等待一段時(shí)間,可以看到 Deployments 的工作負(fù)載成功運(yùn)行。
9.3 創(chuàng)建 services
在 services 資源對(duì)象中,點(diǎn)擊“創(chuàng)建”選項(xiàng)。
·Services 配置如下:
1.名稱:flaskapp
2.命名空間:flaskapp
3.類型:NodePort
4.容器名稱:app
5.監(jiān)聽端口:5000
6.目標(biāo)端口:5000
7.節(jié)點(diǎn)端口:30050
8.確認(rèn)提交。
選擇器:pro=apptest,此處標(biāo)簽為我們新建 Deployment 時(shí)自定義的標(biāo)簽。
9.4 安全配置
在華為云 Flexus 云服務(wù)器 X 實(shí)例的安全組管理頁面中,在入方向規(guī)則上,放行 30050 訪問端口。
·關(guān)閉防火墻
systemctl stop firewalld && systemctl disable firewalld
·關(guān)閉 selinux
setenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
9.5 訪問與測(cè)試
瀏覽器訪問地址:http://彈性公網(wǎng) IP 地址:30050,將 IP 替換為自己服務(wù)器 IP 地址。瀏覽器打開后,可以看到 flaskapp 的網(wǎng)頁內(nèi)容。
十、使用體驗(yàn)與總結(jié)
在使用華為云 Flexus 云服務(wù)器 X 實(shí)例部署 KubePi 的過程中,我們深切地感受到了其在性能與穩(wěn)定性上的出色表現(xiàn);無論是初始化配置還是后續(xù)的集群管理,整個(gè)流程都極為順暢,這得益于華為云對(duì)底層硬件與 openEuler 操作系統(tǒng)的深度優(yōu)化。KubePi 在這樣的平臺(tái)上運(yùn)行如魚得水,不僅顯著提升了我們管理多個(gè) Kubernetes 集群的效率,而且其精細(xì)的權(quán)限控制機(jī)制也使得團(tuán)隊(duì)協(xié)作更加靈活安全??梢哉f,借助華為云 Flexus 云服務(wù)器 X 實(shí)例的強(qiáng)大支持,我們的開發(fā)和運(yùn)維工作變得更加高效,極大地促進(jìn)了業(yè)務(wù)發(fā)展與技術(shù)創(chuàng)新的步伐。
抓住華為云 828 B2B 企業(yè)節(jié)的良機(jī),一同探索 Flexus X 實(shí)例所帶來的超值特惠與前沿科技體驗(yàn)。從高性能計(jì)算到智能監(jiān)控解決方案,華為云始終以卓越的產(chǎn)品質(zhì)量和貼心的服務(wù)確立了自身的行業(yè)標(biāo)桿地位。選擇華為云,不僅是擁抱領(lǐng)先的技術(shù)支持,更是向數(shù)字化轉(zhuǎn)型邁出的堅(jiān)實(shí)步伐。讓我們共同踏上華為云這一創(chuàng)新平臺(tái),開啟通向未來的成功之旅,攜手創(chuàng)造更多可能!
審核編輯 黃宇
-
云服務(wù)器
+關(guān)注
關(guān)注
0文章
703瀏覽量
13388 -
華為云
+關(guān)注
關(guān)注
3文章
2673瀏覽量
17503
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論