前言
華為云 Flexus 云服務器 X 實例以其出色的性能和高度的靈活性,成為中小企業及開發者構建云基礎設施的理想選擇。鑒于其卓越的計算能力和廣泛的適應性,本文將指導如何在基于 openEuler 操作系統的 Flexus X 實例上部署 k3s——由 Rancher Labs 打造的一款輕量級 Kubernetes 發行版,以此來增強服務器的可擴展性和自動化管理能力,滿足更加多元化的應用需求。通過這一部署,不僅能夠充分發揮 Flexus X 實例的強大功能,還能為用戶提供一個高效、穩定且易于管理的容器化應用運行環境。
一、Flexus 云服務器 X 實例介紹
1.1 Flexus 云服務器 X 實例簡介
·官網地址:華為云Flexus云服務器X實例
華為云 Flexus 云服務器 X 實例是新一代面向中小企業和開發者的柔性算力云服務器。它能夠智能感知業務負載的變化,自動調整資源配置。這款服務器特別適用于中低負載的應用場景,例如電商直播、企業網站建設、開發測試環境、游戲服務器以及音視頻服務等。X 實例的設計理念旨在為用戶提供更加靈活和高效的計算資源管理方式。通過智能調整,它可以更好地滿足不同業務的需求,提高資源利用率。
1.2 Flexus 云服務器 X 實例特點
·提供豐富的公共鏡像:Flexus 云服務器 X 實例提供多種公共鏡像供用戶選擇,方便快速部署各種應用和服務。
·可靈活自定義 vCPU 內存配比:用戶可以根據自己的需要靈活調整虛擬 CPU 和內存的配比,以滿足不同場景的需求。
·智能感知業務動態升降配:Flexus 云服務器 X 實例能夠智能感知業務的負載情況,并根據需要自動升降配,以滿足業務的需求,提高系統的穩定性和性能。
·負載范圍更高:相對于 Flexus 應用服務器 L 實例,Flexus 云服務器 X 實例能夠處理更高的負載,適用于更復雜和繁忙的場景。
1.3 Flexus 云服務器 X 實例使用場景
Flexus 云服務器 X 實例針對不同的使用場景展現出其獨特的優勢:
1.電商直播:利用 X 實例搭建電商交易平臺,可以有效應對電商市場的瞬息萬變,從容處理業務壓力波動,確保交易過程順暢無阻。
2.企業建站:面向博客、論壇和企業門戶等應用場景,X 實例幫助企業高效傳播價值信息,促進信息共享與交流,支持構建多功能傳播和交互平臺。
3.個人開發測試:開發者在開發和測試過程中所需的環境資源可以通過 X 實例便捷獲取,不僅提高了搭建效率,而且降低了成本。
4.游戲服務器:適用于搭建游戲后臺服務器,強大的計算能力可以輕松應對大量玩家同時在線的情況,同時支持平滑擴容,快速應對玩家數量增長的需求,以及提供出色的網絡加速能力以提升用戶體驗。
二、K3s 介紹
2.1 K3s 簡介
K3s 是 Rancher Labs 推出的一個輕量級的 Kubernetes 發行版。它被設計用于在資源有限的環境中部署和運行 Kubernetes,如邊緣計算設備、嵌入式系統、物聯網設備等。
2.2 K3s 主要特點
·輕量級:K3s 的二進制文件只有不到 100 MB 的大小,內存占用量僅為正常 Kubernetes 的一半。它適用于資源有限的設備和環境。
·簡化安裝:K3s 的安裝過程非常簡單,只需運行一個 shell 腳本即可將 Kubernetes 集群部署在任何機器上,而無需額外配置和復雜的設置。
·自包含:K3s 所有的組件都打包在一個二進制文件中,包括 Kubernetes 控制平面、容器運行時和存儲插件等。這樣可以簡化部署和管理的流程,并降低系統的復雜性。
·兼容性:盡管 K3s 是一個精簡版的 Kubernetes,但它仍然與標準的 Kubernetes API 兼容。這意味著你可以使用標準的 Kubernetes 工具和命令行界面與 K3s 進行交互。
·支持多種應用場景:K3s 可以用于各種不同的應用場景,包括邊緣計算、物聯網設備、持續集成和開發環境等。它的輕巧性和易用性使得部署和管理 Kubernetes 集群變得更加簡單和靈活。
2.3 k3s 的硬件要求
K3s 的最低硬件要求和推薦硬件配置如下所示:
2.4 單節點 k3s-server 架構
以下為單節點 k3s-server 架構,本次實踐環境為部署單機 k3s 環境。
三、本次實踐介紹
3.1 本次實踐簡介
1.本次實踐為個人測試學習環境,旨在快速部署應用,生產環境請謹慎;2.本次實踐環境為華為云 Flexus 云服務器 X 實例,使用的操作系統為 openEuler 22.03 LTS;3.本次實踐在 openEuler 系統環境下搭建 k3s 輕量級 kubernetes 單機環境。
3.2 本次環境規劃
四、遠程連接華為云 Flexus 云服務器 X 實例
4.1 購買 Flexus 云服務器 X 實例
進入華為云官網:https://activity.huaweicloud.com/,登錄自己的華為云賬號,進入華為云首頁。
·鏡像選擇:本次實踐使用 openEuler 作為公共鏡像,請根據實際需求自定義選擇合適的操作系統鏡像。
·鏡像切換說明:參考的公共鏡像原為 Huawei Cloud EulerOS,但本次實踐中已切換至 openEuler。
·基礎配置參考:購買時可參考以下基礎配置進行選擇。
1.計費模式:包年/包月,這里選擇此模式;2.區域:華北—北京四,可用區:隨機即可;3.實例規格:關閉性能模式,選擇自定義,4vCPUs | 12GiB;4.鏡像:公共鏡像,Huawei Cloud EulerOS,版本,Huawei Cloud EulerOS 2.0 Standard 64 bit(10GiB);5.應用加速:這里選擇不加速;6.存儲:系統盤,通用型 SSD100G;7.網絡:選擇默認即可;8.安全組:選擇默認即可;9.彈性公網 IP:選擇“現在購買”,全動態 BGP,帶寬 3Mbit/s;10.云服務器名稱:可自定義設置,這里選擇默認的名稱;11.登錄憑證:自定義設置密碼;12.云備份:暫不購買;其余配置默認即可。
·確認配置及購買:在確認配置頁面仔細檢查 Flexus 云服務器 X 實例的各項設置,確保無誤后點擊“立即購買”,完成付款流程即可成功購買。
4.2 查看 Flexus 云服務器 X 實例狀態
進入華為云 Flexus 云服務的控制臺,選擇 Flexus 云服務器 X 實例,可以看到已經正在運行的 Flexus 云服務器 X 實例。
4.3 使用 Xshell 遠程連接
·復制 Flexus 云服務器 X 實例的彈性公網 IP 地址
·主要填寫 Flexus 云服務器 X 實例的彈性公網 IP 地址,輸入其登錄用戶和密碼,連接即可。
4.4 檢查操作系統版本
檢查 Flexus 云服務器 X 實例的操作系統版本,本次實踐選擇的版本為 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"
4.5 檢查內核版本
檢查當前操作系統的內核版本,當前內核版本為 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.1 關閉防火墻與 selinux
·執行以下命令,關閉防火墻。
systemctl stop firewalld && systemctl disable firewalld
·關閉 selinux
setenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
5.2 關閉 Swap
在部署 k3 之前,我們需要關閉 swap(交換分區或交換文件)。
·臨時關閉 swap
swapoff -a
·永久關閉 swap
sed -ri 's/.*swap.*/#&/' /etc/fstab
5.3 啟用 IPv4 數據包轉發
執行以下命令,查看 net.ipv4.ip_forward 的值是否設置為1。
[root@flexusx-51a1 ~]# sysctl net.ipv4.ip_forwardnet.ipv4.ip_forward = 1
如果未啟用,則需要手動啟用 IPv4 數據包轉發。
cat <
sudo sysctl --system
5.4 時鐘同步(可選)
我們使用華為云 Flexus 云服務器 X 實例的 openEuler 鏡像,系統自動為我們配置了時間同步,
systemctl status chronyd
如果未安裝 chronyd 服務,使用以下命令安裝。
yum install chrony -ysystemctl start chronydsystemctl enable chronyd
六、部署 k3s 環境
6.1 安裝 k3s
直接使用國內鏡像源方式,一鍵安裝 k3s 環境。
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s -
6.2 檢查 kubectl 等工具版本
k3s 一鍵安裝完畢后,將安裝其他實用程序,包括 kubectl、crictl、ctr、k3s-killall.sh 和 k3s-uninstall.sh。
·檢查 kubectl 版本,當前安裝的版本為 v1.30.4+k3s1
[root@flexusx-51a1 k3s]# kubectl versionClient Version: v1.30.4+k3s1Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3Server Version: v1.30.4+k3s1
·檢查 crictl 版本,當前安裝的版本為 0.1.0。
[root@flexusx-51a1 k3s]# crictl versionVersion: 0.1.0RuntimeName: containerdRuntimeVersion: v1.7.20-k3s1RuntimeApiVersion: v1
·檢查 ctr 版本,當前安裝的版本為 1.6.32
[root@flexusx-51a1 k3s]# ctr versionClient:Version: 1.6.32Revision: 8b3b7ca2e5ce38e8f31a34f35b2b68ceb8470d89Go version: go1.21.10Server:Version: 1.6.32Revision: 8b3b7ca2e5ce38e8f31a34f35b2b68ceb8470d89UUID: c735387d-12b0-40fb-a0ae-60ca5a3a3c59
·查看 K3S 卸載腳本位置
[root@flexusx-51a1 k3s]# which k3s-killall.sh/usr/local/bin/k3s-killall.sh[root@flexusx-51a1 k3s]# which k3s-uninstall.sh/usr/local/bin/k3s-uninstall.sh
6.3 查看 k3s 配置文件
默認 k3s 集群的配置文件位置在:/etc/rancher/k3s/k3s.yaml,由 K3s 安裝的 kubectl 將自動使用該文件。
[root@flexusx-51a1 k3s]# ls /etc/rancher/k3s/k3s.yaml/etc/rancher/k3s/k3s.yaml
6.4 檢查節點狀態
由于是單機部署 k3s 集群,當前只有 k8s-server 節點,可以看到當前使用的容器運行時為 containerd。
[root@flexusx-51a1 k3s]# kubectl get nodes -owideNAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIMEflexusx-51a1 Ready control-plane,master 11m v1.30.4+k3s1 192.168.0.169 openEuler 22.03 LTS 5.10.0-60.109.0.136.oe2203.x86_64 containerd://1.7.20-k3s1
6.5 檢查系統 pod 狀態
執行以下命令,檢查系統 pod 狀態。
[root@flexusx-51a1 ~]# kubectl get pods -ANAMESPACE NAME READY STATUS RESTARTS AGEkube-system coredns-576bfc4dc7-qslbt 1/1 Running 0 10hkube-system helm-install-traefik-crd-mttv8 0/1 Completed 0 10hkube-system helm-install-traefik-pj458 0/1 Completed 1 10hkube-system local-path-provisioner-6795b5f9d8-ncz9c 1/1 Running 0 10hkube-system metrics-server-557ff575fb-6ld6f 1/1 Running 0 10hkube-system svclb-traefik-36590967-z5zlr 2/2 Running 0 10hkube-system traefik-5fb479b77-rllb5 1/1 Running 0 10h
七、配置鏡像源
7.1 配置鏡像源
在/etc/rancher/k3s/registries.yaml 文件中,修改鏡像源。
vim /etc/rancher/k3s/registries.yaml
我們配置 Docker 的公共倉庫鏡像源,私有鏡像倉庫可自行配置。
mirrors:"docker.io":endpoint:- ""- "https://mirror.ccs.tencentyun.com"- "https://hub-mirror.c.163.com"- "https://mirror.baidubce.com""ccr.ccs.tencentyun.com":endpoint:- "https://ccr.ccs.tencentyun.com""registry.cn-hangzhou.aliyuncs.com":endpoint:- "https://registry.cn-hangzhou.aliyuncs.com"configs:"registry.cn-hangzhou.aliyuncs.com":auth:username: xxxpassword: xxxx"xx.tencentyun.com":auth:username: xxpassword: xxxx
7.2 重啟 k3s
執行以下命令,重啟 k3s 服務。
systemctl restart k3s
7.3 拉取測試鏡像
嘗試從 Docker Hub 公共倉庫拉取一個鏡像,例如 nginx 鏡像進行測試。
crictl pull nginx
八、部署 Nginx 應用
7.1 創建部署目錄
創建部署目錄/data/k3s,并且進入該部署目錄。
mkdir -p /data/k3s/ && cd /data/k3s/
7.2 編輯部署文件
新建并且編輯 nginx.yaml 部署文件,內容參考如下:
vim nginx.yaml
---apiVersion: v1kind: Namespace #資源對象類型 metadata: # 元信息name: web # 空間名稱---apiVersion: apps/v1kind: Deploymentmetadata:name: nginx-webnamespace: web #spec:replicas: 2selector:matchLabels:erpselector: nginx-test #標簽template:metadata:labels:erpselector: nginx-test #標簽spec:containers: # 容器信息- name: nginximage: nginx:latest # 指定拉取的鏡像ports:- containerPort: 80 # 指定容器的端口---apiVersion: v1kind: Servicemetadata:name: nginx-servicenamespace: webspec:type: NodePortselector:erpselector: nginx-test # 轉發到指定標簽的 podsports:- port: 80targetPort: 80protocol: TCPnodePort: 30033
7.3 部署 Nginx 應用
執行以下命令,部署 Nginx 應用。
[root@flexusx-51a1 k3s]# kubectl apply -f nginx.yamlnamespace/web createddeployment.apps/nginx-web createdservice/nginx-service created
7.4 查看 pod 狀態
查看 nginx 應用的 pod 狀態,確保 pod 正常運行。
[root@flexusx-51a1 k3s]# kubectl get pods -n webNAME READY STATUS RESTARTS AGEnginx-web-5b44bff8b8-8xxd7 1/1 Running 0 37snginx-web-5b44bff8b8-ctwxq 1/1 Running 0 37s
7.5 查看 service 狀態
查看 service 狀態,可以看到外部訪問端口為 30033。
[root@flexusx-51a1 k3s]# kubectl get service -n webNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEnginx-service NodePort 10.43.12.77 80:30033/TCP 101s
八、訪問 Nginx 服務
8.1 Flexus 云服務器 X 實例安全組配置
進入 Flexus 云服務器 X 實例控制臺,進行安全組規則配置。在安全組入方向規則上,放行 30033 端口。
8.2 訪問 Nginx 服務
瀏覽器:http://彈性公網 IP:30033,將 IP 替換為自己華為云 Flexus 云服務器 X 實例的彈性公網 IP 地址,即可訪問到 Nginx 的初始網頁。
九、使用體驗與總結
在本次實踐中,我們順利地在華為云 Flexus 云服務器 X 實例上成功搭建了 k3s 輕量級 Kubernetes 環境。整個過程如行云流水,毫無阻礙,其使用體驗令人贊嘆不已。華為云 Flexus 云服務器 X 實例在眾多云服務中可謂鶴立雞群,它具備卓越的性價比,強大的計算性能令人矚目,穩定可靠的特性為工作提供堅實保障,高標準的安全保障更是讓人安心無憂。穩定的網絡連接和零延遲的操作,有力地確保了高效的工作流程。依托華為云的強大后盾,該實例展現出了無與倫比的優勢。其中,K3s 作為 Rancher Labs 推出的輕量級 Kubernetes 發行版,在華為云 Flexus 云服務器 X 實例的 openEuler 系統下得以完美運行,進一步彰顯了其強大的兼容性和出色的性能。
抓住華為云 828 B2B 企業節這一難得機遇,即刻感受 Flexus X 實例帶來的震撼超值優惠。在這里,你能領略到前沿技術與創新理念的精妙融合。無論是對高性能計算有著極致需求,還是追求智能化監控的精準高效,Flexus X 實例的每一處細節都彰顯著華為云對高品質服務的不懈執著。選擇華為云,絕非僅僅是技術層面的一次躍升,更是邁向數字化轉型征程的關鍵一步。讓我們攜手并肩,一同前行,共創輝煌的云端新時代!
審核編輯 黃宇
-
云服務器
+關注
關注
0文章
734瀏覽量
13426 -
華為云
+關注
關注
3文章
2691瀏覽量
17588
發布評論請先 登錄
相關推薦
評論