0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

华为云 Flexus 云服务器 X 实例之 openEuler 系统下搭建 k3s 轻量级 kubernetes 环境

jf_94205927 来源:jf_94205927 作者:jf_94205927 2025-02-06 18:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

华为云 Flexus 云服务器 X 实例以其出色的性能和高度的灵活性,成为中小企业及开发者构建云基础设施的理想选择。鉴于其卓越的计算能力和广泛的适应性,本文将指导如何在基于 openEuler 操作系统的 Flexus X 实例上部署 k3s——由 Rancher Labs 打造的一款轻量级 Kubernetes 发行版,以此来增强服务器的可扩展性和自动化管理能力,满足更加多元化的应用需求。通过这一部署,不仅能够充分发挥 Flexus X 实例的强大功能,还能为用户提供一个高效、稳定且易于管理的容器化应用运行环境。

一、Flexus 云服务器 X 实例介绍

1.1 Flexus 云服务器 X 实例简介

·官网地址:华为云Flexus云服务器X实例

华为云 Flexus 云服务器 X 实例是新一代面向中小企业和开发者的柔性算力云服务器。它能够智能感知业务负载的变化,自动调整资源配置。这款服务器特别适用于中低负载的应用场景,例如电商直播、企业网站建设、开发测试环境、游戏服务器以及音视频服务等。X 实例的设计理念旨在为用户提供更加灵活和高效的计算资源管理方式。通过智能调整,它可以更好地满足不同业务的需求,提高资源利用率。

wKgZPGdtLGeAThi6AACZ1u9eklg664.png

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 环境。

wKgZO2dtLGeAAnMnAAD0Ki6U3N0205.png

三、本次实践介绍

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/,登录自己的华为云账号,进入华为云首页。

wKgZPGdtLGeARfN8AAGOr0GKcAU550.png

wKgZO2dtLGeAWNSQAAMw-MUjKOU731.png

·镜像选择:本次实践使用 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 实例的各项设置,确保无误后点击“立即购买”,完成付款流程即可成功购买。

wKgZPGdtLGiAKPaYAACSv3dTTQg364.png

4.2 查看 Flexus 云服务器 X 实例状态

进入华为云 Flexus 云服务的控制台,选择 Flexus 云服务器 X 实例,可以看到已经正在运行的 Flexus 云服务器 X 实例。

wKgZO2dtLGmAVkRlAACUwX4ATBs482.png

4.3 使用 Xshell 远程连接

·复制 Flexus 云服务器 X 实例的弹性公网 IP 地址

wKgZPGdtLGmAVOWLAACUXjIeuf4287.png

·主要填写 Flexus 云服务器 X 实例的弹性公网 IP 地址,输入其登录用户和密码,连接即可。

wKgZO2dtLGqAMlVsAAFCkzHErbE638.png

wKgZPGdtLGqAF2MvAAAjJk3vwy8470.png

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

wKgZO2dtLGqACY6YAAAvzQBf4gg139.png

如果未安装 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 -

wKgZPGdtLGqARQnyAAAyBjXH1DY685.png

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

wKgZO2dtLGuAajhEAAArOCXxk6g942.png

八、部署 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 端口。

wKgZPGdtLGuAdaDXAAC9kTeSqx4301.png

8.2 访问 Nginx 服务

浏览器:http://弹性公网 IP:30033,将 IP 替换为自己华为云 Flexus 云服务器 X 实例的弹性公网 IP 地址,即可访问到 Nginx 的初始网页。

wKgZO2dtLGuAY6vkAABOEFlNMCE658.png

九、使用体验与总结

在本次实践中,我们顺利地在华为云 Flexus 云服务器 X 实例上成功搭建了 k3s 轻量级 Kubernetes 环境。整个过程如行云流水,毫无阻碍,其使用体验令人赞叹不已。华为云 Flexus 云服务器 X 实例在众多云服务中可谓鹤立鸡群,它具备卓越的性价比,强大的计算性能令人瞩目,稳定可靠的特性为工作提供坚实保障,高标准的安全保障更是让人安心无忧。稳定的网络连接和零延迟的操作,有力地确保了高效的工作流程。依托华为云的强大后盾,该实例展现出了无与伦比的优势。其中,K3s 作为 Rancher Labs 推出的轻量级 Kubernetes 发行版,在华为云 Flexus 云服务器 X 实例的 openEuler 系统下得以完美运行,进一步彰显了其强大的兼容性和出色的性能。

抓住华为云 828 B2B 企业节这一难得机遇,即刻感受 Flexus X 实例带来的震撼超值优惠。在这里,你能领略到前沿技术与创新理念的精妙融合。无论是对高性能计算有着极致需求,还是追求智能化监控的精准高效,Flexus X 实例的每一处细节都彰显着华为云对高品质服务的不懈执着。选择华为云,绝非仅仅是技术层面的一次跃升,更是迈向数字化转型征程的关键一步。让我们携手并肩,一同前行,共创辉煌的云端新时代!

wKgZPGdtLGuAO2sFAALwQe1M_Pc562.png



审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 云服务器
    +关注

    关注

    0

    文章

    841

    浏览量

    14747
  • 华为云
    +关注

    关注

    3

    文章

    2837

    浏览量

    19377
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    KubePi:开源Kubernetes可视化管理面板,让集群管理如此简单

    环境示例) 有开发者分享了在华为Flexus服务器X
    发表于 02-11 12:53

    零基础如何用服务器搭建网站?完整教程

    准备(域名与服务器)、系统环境配置、网站部署、上线后的安全与性能优化、以及日常运维。每个步骤都配合实用操作建议,便于一步步完成搭建工作。遇到疑难环节时,恒讯科技可以在
    的头像 发表于 01-29 16:18 595次阅读

    硬件通胀的生存战!华为Flexus X服务器,让中小企业不做“接盘侠”

    通知”成了企业IT采购的常态。 DRAM合同价同比暴涨171.8%,NAND Flash价格累计飙升246%,服务器整机采购成本上升15%-20%。硬件市场的疯狂涨价,正让无数中小企业面临“买得起用不起、想买却没货”的绝境。而__华为
    的头像 发表于 12-31 13:05 401次阅读

    告别“硬件军备竞赛”!华为如何让企业算力效率翻倍,成本减半?

    的技术迭代周期却在缩短。在此背景,继续沿用传统的重资产IT模式已不合时宜。 华为凭借Flexus X
    的头像 发表于 12-31 13:02 288次阅读

    DRAM 暴涨 171%! 171% 的企业突围:华为 Flexus X 服务器成 IT 成本管控利器

    Flexus X 服务器凭借独有的柔性算力黑科技与智能调度能力,助力企业实现核心应用性能最高达友商 6 倍、综合成本降低 30% 的双
    的头像 发表于 12-31 13:00 388次阅读

    什么是企业服务器-计算

    地扩展和管理其IT基础设施。华纳的企业服务器基于虚拟化技术,在环境中运行多个虚拟服务器
    的头像 发表于 12-29 17:57 1085次阅读

    服务器端口怎么开放?

    搭建服务器,想部署网站、运行应用或开启远程连接,却发现外网始终无法访问?大概率是端口没开放。端口就像服务器的门窗,默认状态
    的头像 发表于 11-11 15:43 1133次阅读

    香港服务器支持Docker和Kubernetes吗?

    在云原生技术成为主流的今天,Docker和KubernetesK8s)已成为现代化应用开发和部署的事实标准。对于选择香港服务器的开发者与企业而言,一个核心问题是:香港服务器能否完美支
    的头像 发表于 10-21 15:47 925次阅读

    如何快速在服务器上部署Web环境

    如何快速在服务器上部署Web环境
    的头像 发表于 10-14 14:16 873次阅读

    华纳服务器Linux系统日志集中化管理平台搭建

    计算时代,企业运维团队面临服务器数量激增带来的日志管理难题。本文详细解析如何基于Linux系统构建高效的服务器日志集中化管理平台,涵盖
    的头像 发表于 09-12 14:11 598次阅读

    轻量服务器服务器区别:2025年终极选择指南

    轻量服务器服务器区别在于定位和性能保障。轻量服务器采用共享计算资源和突发性能模式,预配置
    的头像 发表于 09-01 13:58 1578次阅读
    轻量<b class='flag-5'>云</b><b class='flag-5'>服务器</b>和<b class='flag-5'>云</b><b class='flag-5'>服务器</b>区别:2025年终极选择指南

    恒讯科技分析:储存服务器搭建教程

    搭建存储服务器是一个相对复杂但极具实用性的项目,以下是一个简化的搭建教程,帮助你快速入门。 一、明确需求 在搭建
    的头像 发表于 07-07 11:07 1475次阅读

    VPS和服务器有什么区别?一文读懂两者差异与选型关键

    VPS(虚拟专用服务器)通过虚拟化技术将单台物理服务器划分为多个独立环境,资源固定分配,成本较低但扩展性有限,适合轻量级稳定业务。
    的头像 发表于 06-04 11:03 2649次阅读

    HarmonyOS5服务技术分享--Serverless搭建抽奖

    活动搭建。不用写后端代码,不用操心服务器维护,特别适合想快速上线运营活动的朋友~ 快跟我一起看看怎么操作吧! ? 一、前期准备(划重点!) 1️⃣ 创建项目地基: 登录AGC控制台新建项目(已有项目可
    发表于 05-22 20:20

    HarmonyOS5服务技术分享--ArkTS开发Node环境

    气的方式探索这个功能,结尾还有实用总结和鼓励彩蛋哦~✨ ? 一、HarmonyOS函数开发:核心能力与价值 HarmonyOS的函数(Serverless)为开发者提供了​​无服务器架构​​的便捷
    发表于 05-22 17:21