华为云 Flexus 云服务器 X 实例之 openEuler 系统下玩转 iSulad 容器技术

电子说

1.3w人已加入

描述

前言

华为云以其卓越的技术实力和创新能力,持续为用户提供高效、稳定的云计算服务。在这一背景下,华为云推出的 Flexus 云服务器 X 实例,专为满足中小企业和开发者的独特需求而设计,提供了前所未有的灵活性与性能。结合华为自研的 iSulad 容器技术,用户能够在 openEuler 系统上享受到更轻量级、更安全的应用程序部署体验。本文将带领读者深入了解如何在华为云 Flexus 云服务器 X 实例上利用 iSulad 容器技术,开启全新的云上创新之旅。

一、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. 游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。

二、iSulad 介绍

2.1 iSulad 简介

iSulad 是华为公司推出的一款容器技术。它是一种轻量级的虚拟化技术,允许用户在独立的运行环境中部署和运行应用程序。iSulad 使用 Linux 容器技术,通过隔离进程、文件系统、网络和其他系统资源来实现应用程序之间的隔离。

2.2 iSulad 特点

· 高效性能:iSulad 的设计优化使其在容器的创建、启动和停止等操作上具有出色的性能。

· 安全可靠:iSulad 采用了诸多安全机制,包括基于容器的权限隔离、命名空间和资源控制,以保证容器之间的安全隔离,并防止恶意容器对宿主机造成危害。

· 兼容性强:iSulad 支持 Open Container Initiative(OCI)标准,可以与其他符合 OCI 标准的容器生态系统无缝对接,如 Docker。

· 简单易用:iSulad 提供了简洁的命令行工具和 API 接口,使用户可以方便地管理和操作容器。

· 多样化的功能:iSulad 支持容器的快照、镜像管理、容器网络、容器存储等一系列的功能,以满足不同使用场景的需求。

三、本次实践介绍

3.1 本次实践简介

1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;2.本次实践环境为华为云 Flexus 云服务器 X 实例,使用的操作系统为 Huawei Cloud EulerOS 2.0 (x86_64);3.本次实践旨在部署 iSulad 环境,并掌握其容器技术的各种操作。

3.2 本次环境规划

四、购买华为云 Flexus 云服务器 X 实例

4.1 登录华为云

进入华为云官网:https://activity.huaweicloud.com/,登录自己的华为云账号,进入华为云首页。
 

华为云

华为云

4.2 进入 Flexus 云服务器 X 实例购买页面

我们在华为云官网首页,精选推荐模块中,可以看到 Flexus 云服务器 X 实例,点击进入 Flexus 云服务器 X 实例主页。

华为云

华为云

点击页面中的“购买”选项,进入 Flexus 云服务器 X 实例购买页面。

华为云

4.3 购买 Flexus 云服务器 X 实例配置

· 镜像选择:本次实践使用 openEuler 作为公共镜像,请根据实际需求自定义选择合适的操作系统镜像。

· 镜像切换说明:参考的公共镜像原为 Huawei Cloud EulerOS,但本次实践中已切换至 openEuler。

· 基础配置参考:购买时可参考以下基础配置进行选择。

· 确认配置及购买:在确认配置页面仔细检查 Flexus 云服务器 X 实例的各项设置,确保无误后点击“立即购买”,完成付款流程即可成功购买。

华为云

4.4 使用 Xshell 远程连接

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

华为云

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

华为云

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

华为云

华为云

4.5 检查操作系统版本

检查 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"

检查当前操作系统的内核版本,当前内核版本为 5.10.0-60.139.0.166.oe2203.x86_64。

[root@flexusx-51a1 ~]# uname -r5.10.0-60.139.0.166.oe2203.x86_64

五、安装及配置 iSulad

5.1 安装 iSulad

在 openEuler 系统重,直接使用以下命令安装 iSulad。

yum install -y iSulad

华为云

5.2 修改配置文件

备份配置文件:执行以下命令,我们将 iSulad 的原始配置文件进行备份。

cp /etc/isulad/daemon.json /etc/isulad/daemon.json.origin

修改配置文件:打开 iSulad 的配置文件 daemon.json,修改其镜像仓库地址。

vim /etc/isulad/daemon.json

· 将图中部分修改镜像仓库。

"registry-mirrors": [             "hub.oepkgs.net"    ]

华为云

5.3 重新启动 iSulad 服务

 -设置开启启动

 systemctl enable isulad

· 重新启动 iSulad 服务

systemctl restart isulad

· 检查 iSulad 服务服务状态

[root@flexusx-51a1 ~]# systemctl status  isulad●isulad.service - iSulad Application Container Engine     Loaded: loaded (/usr/lib/systemd/system/isulad.service; enabled; vendor preset: disabled)     Active: active (running) since Thu 2024-09-26 21:58:58 CST; 41s ago   Main PID: 255962 (isulad)      Tasks: 12 (limit: 73114)     Memory: 6.9M     CGroup: /system.slice/isulad.service             └─255962 /usr/bin/isuladSep 26 21:58:58 flexusx-51a1 systemd[1]: Starting iSulad Application Container Engine...Sep 26 21:58:58 flexusx-51a1 isulad[255962]:          engine 20240926135858.258 - iSulad successfully booted in 0.011 sSep 26 21:58:58 flexusx-51a1 systemd[1]: Started iSulad Application Container Engine.

5.4 查询 iSulad 版本

· 查询 iSulad 版本,当前版本为 2.0.18。

[root@flexusx-51a1 ~]# isula --versionVersion 2.0.18, commit cbbf3711bc84e5f3ef3147b4e15d85888f33cb39

5.5 镜像拉取测试

执行以下命令,拉取 openeuler/openeuler:20.09 镜像,可以看到很快就成功拉取。

[root@flexusx-51a1 ~]# isula pull openeuler/openeuler:20.09Image "openeuler/openeuler:20.09" pullingImage "8c788f4bfb7290e434b2384340a5f9811db6ed302f9247c5fc095d6ec4fc8f32" pulled

查看拉取镜像,可以看到本地存在已拉取的镜像。

[root@flexusx-51a1 dillinger]# isula imagesREPOSITORY                     TAG        IMAGE ID             CREATED              SIZEghcr.io/linuxserver/dillinger  latest     ba7ab914577c         2024-03-21 03:58:20  751.764MBopeneuler/openeuler            20.09      8c788f4bfb72         2020-09-28 12:27:37  506.641MB

六、使用 iSula 运行容器

6.1 创建 openeuler 容器

创建 openeuler 容器:我们使用 isula 命令创建 openeuler 容器。

[root@flexusx-51a1 ~]#  isula create -it openeuler/openeuler:20.0945d73fef72b18543fe81ddb155cc2481c8179db11fa06c41fd94ee29f2668372

6.2 启动 openeuler 容器

· 查看容器 ID

[root@flexusx-51a1 ~]# isula ps -aCONTAINER ID IMAGE                     COMMAND     CREATED            STATUS PORTS NAMES45d73fef72b1 openeuler/openeuler:20.09 "/bin/bash" About a minute ago Created      45d73fef72b18543fe81ddb155cc2481c8179db11fa06c41fd94ee29f2668372

· 启动 openeuler 容器

isula start 45d

· 查看 openeuler 容器状态

[root@flexusx-51a1 ~]# isula psCONTAINER ID IMAGE                     COMMAND     CREATED       STATUS        PORTS NAMES45d73fef72b1 openeuler/openeuler:20.09 "/bin/bash" 2 minutes ago Up 49 seconds      45d73fef72b18543fe81ddb155cc2481c8179db11fa06c41fd94ee29f2668372

6.3 查看容器内系统版本

· 执行以下命令,进入 openeuler 容器内。

[root@flexusx-51a1 ~]# isula  exec -it 45d  /bin/bashWelcome to 5.10.0-60.139.0.166.oe2203.x86_64System information as of time: Thu 26 Sep 2024 11:37:26 PM CSTSystem load: 0.02Processes: 6Memory used: 13.1%Swap used: 0.0%Usage On: 18%Users online: 0[root@45d73fef72b1 /]#

· 查看容器内操作系统版本

[root@45d73fef72b1 /]# cat /etc/os-releaseNAME="openEuler"VERSION="20.09"ID="openEuler"VERSION_ID="20.09"PRETTY_NAME="openEuler 20.09"ANSI_COLOR="0;31"

七、构建容器镜像方法

7.1 安装构建工具

安装构建工具,iSula 提供了容器镜像构建工具 isula-build。

yum --enablerepo update install -y isula-build

华为云

7.2 启动 isula-build 服务

· 启动 isula-build 服务,并设置开机自启。

systemctl enable --now isula-build

· 查看 isula-build 服务状态

[root@flexusx-51a1 ~]# systemctl status isula-build.service●isula-build.service - iSula-Build Image Build Tool     Loaded: loaded (/usr/lib/systemd/system/isula-build.service; enabled; vendor preset: disabled)     Active: active (running) since Thu 2024-09-26 23:41:31 CST; 57s ago   Main PID: 269081 (isula-builder)      Tasks: 9 (limit: 73114)     Memory: 16.0M     CGroup: /system.slice/isula-build.service             └─269081 /usr/bin/isula-builderSep 26 23:41:30 flexusx-51a1 systemd[1]: Starting iSula-Build Image Build Tool...Sep 26 23:41:31 flexusx-51a1 isula-builder[269081]: time="2024-09-26T23:41:31+08:00" level=info msg="Recycle function subReaper is registered successfully"Sep 26 23:41:31 flexusx-51a1 isula-builder[269081]: time="2024-09-26T23:41:31+08:00" level=info msg="isula-builder is listening on /var/run/isula_build.soc>Sep 26 23:41:31 flexusx-51a1 systemd[1]: Started iSula-Build Image Build Tool.

7.3 安装 runc

在 isula-build 的运行环境上预装好 runc,以便构建 Dockerfile 内的 RUN 指令时能够正确依赖可执行文件 runc。请执行以下命令预装:

yum install -y docker-runc

7.4 构建镜像

· 创建构建目录

mkdir app-isula-build && cd app-isula-build

· 编辑 Dockerfile 文件,内容如下:

FROM hub.oepkgs.net/openeuler/openeuler:20.09COPY hello.sh /usr/bin/CMD ["sh", "-c", "/usr/bin/hello.sh"]

· 编辑 hello.sh 脚本:

#!/bin/bashecho "hello~~"

· 设置 hello.sh 文件执行权限

chmod +x hello.sh

· 开始构建镜像:

isula-build ctr-img build -f Dockerfile -o isulad:hello-isula-build:v0.1 .

华为云

7.4 查询构建镜像

查询构建镜像。我们使用以下命令。

[root@flexusx-51a1 app-isula-build]# isula-build ctr-img images---------------------------------------  -----------  -----------------  ------------------------  ----------- REPOSITORY                               TAG          IMAGE ID           CREATED                   SIZE---------------------------------------  -----------  -----------------  ------------------------  ----------- hello-isula-build                        v0.1         6eda21a317fd       2024-09-26 15:57:09       550 MB                                           568ae3b082fd       2024-09-26 15:54:51       550 MB hub.oepkgs.net/openeuler/openeuler       20.09        8c788f4bfb72       2020-09-28 04:27:37       550 MB---------------------------------------  -----------  -----------------  ------------------------  -----------

· 删除镜像

isula rmi 568ae3b082fd

7.5 运行镜像

执行以下命令,运行刚构建好的镜像。

[root@flexusx-51a1 app-isula-build]# isula run hello-isula-build:v0.1hello~~

八、使用体验与总结

通过本文的探索,我们深入了解了如何在华为云 Flexus 云服务器 X 实例上利用 iSulad 容器技术构建高效、安全的应用环境。iSulad 不仅展现了其作为轻量级容器运行时的强大能力,还能够无缝集成到 Kubernetes 集群中,进一步增强了应用部署与管理的灵活性和可靠性。华为云凭借其卓越的技术支持和服务质量,为中小企业和开发者提供了一个理想的平台,助力他们在数字化转型的道路上走得更远。无论是性能优化还是技术创新,华为云始终站在行业前沿,为用户带来无与伦比的云计算体验。

在华为云 828 B2B 企业节之际,Flexus X 实例推出了重磅优惠活动。华为云凭借其顶级的云服务和卓越的性能稳定性,成为企业业务成长的理想选择。我们诚挚邀请各行各业加入华为云的大家庭,共同见证技术革新所带来的无限可能。让我们携手并进,共创云端辉煌未来,共享科技进步带来的丰硕成果。

审核编辑 黄宇

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分