搭建 Linux 运行环境
Linux 支持运行 C/C++、Java 和 JavaScript 语言开发的微服务,且运行微服务前需要部署云原生 SDK 运行环境。本节将分别介绍如何在 Linux 系统中搭建 C/C++、Java 和 JavaScript 运行环境,并安装容器管理引擎 ECSD。
下载云原生 SDK
搭建运行环境
搭建 C/C++ 程序运行环境
Linux 云原生 SDK 提供了 C/C++ 开发依赖的头文件和库文件以及授权程序,共提供 arm64、amd64 或 i386 三个版本,用户可以根据系统环境选择对应架构的安装包下载安装,不同架构在 SDK 目录内对应关系如下所示:
名称 | 架构 | 内容 |
---|---|---|
libvsoa-dev_1.6.2_amd64.deb | amd64 | VSOA x86_64 架构的库文件以及 VSOA 的头文件 |
libvsoa-dev_1.6.2_arm64.deb | arm64 | VSOA aarch64 架构的库文件以及 VSOA 的头文件 |
libvsoa-dev_1.6.2_i386.deb | i386 | VSOA x86 架构的库文件以及 VSOA 的头文件 |
libvsoa-register_1.6.2_amd64.deb | amd64 | VSOA x86_64 架构的授权程序 |
libvsoa-register_1.6.2_arm64.deb | arm64 | VSOA aarch64 架构的授权程序 |
libvsoa-register_1.6.2_i386.deb | i386 | VSOA x86 架构的授权程序 |
用户可以使用 Linux C/C++ 验证范例 对 Linux 中的云原生 C/C++ 运行环境进行验证。
C/C++ SDK 使用前用户需要按照如下流程进行授权:
在环境中安装下载的 VSOA SDK 安装包。
acoinfo@acoinfo:~$ sudo dpkg -i ./libvsoa-dev_1.6.2_amd64.deb ./libvsoa-register_1.6.2_amd64.deb
执行 vsoa-register,按照提示输入 VSOA Linux 版本的 SN 号,具体 SN 号请通过 联系我们 获取。
acoinfo@acoinfo:~$ vsoa-register Please input your SN: xxxxxxxxxxxxxx
注意:
- vsoa-register 会在 "当前用户目录/.vsoa/" 内生成 license 文件,若该目录不可写,需修改 vsoa-register 所在目录内的 vsoa-register.ini 文件,配置为指定的可写目录,如 "license_file=/home/acoinfo/license" 。
- 待执行的 VSOA 应用程序也需在应用程序所在目录内建立
./license.ini
文件,配置为以上 license 文件所在路径, 如 "license_file=/home/acoinfo/license" 。
根据提示输入需要绑定的硬件网卡信息。
Which net adapter do you want to bind SN: 0 -- eth0 Please input number before the network adpater name: 0
网卡绑定成功后会自动生成 register code,请按提示打开获取 License 的 URL。
Your register code is: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Please open url http://www.sylixos.com/register/register_new.html input your register code. Please input your license:
使用浏览器访问如上提示的链接 http://www.sylixos.com/register/register_new.html ,输入 register code,并单击 submit。
如图将得到生成的 License 序号。
将该 License 复制到 vsoa-register 所在终端,按回车,完成 Linux SDK 的授权。
input your register code. Please input your license: nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
搭建 Java 程序运行环境
Linux 基于 Java 的云原生 SDK 可以从 maven 仓库下载,仓库地址为 https://mvnrepository.com/artifact/com.acoinfo/vsoa 。 在 maven 工程配置文件 pom.xml 加入 vsoa 相关配置依赖即可使用,配置示例如下:
<dependency>
<groupId>com.acoinfo</groupId>
<artifactId>vsoa</artifactId>
<version>1.0</version>
</dependency>
搭建 JavaScript 程序运行环境
Linux 基于 Node.js 的云原生 SDK 开发环境以 npm 方式下载,具体可参考 https://www.npmjs.com/package/vsoa 。
用户可以参考 Linux JavaScript 验证范例 对 Linux 中的云原生 JavaScript 运行环境进行验证。
搭建 Python 程序运行环境
Linux 下运行 Python VSOA 时,可使用如下命令安装 VSOA:
acoinfo@acoinfo:~$ pip install vsoa==0.0.1
搭建 Go 程序运行环境
Linux 下运行 Go 程序不需要安装特殊的依赖。
安装容器管理引擎 ECSD
容器管理平台 ECSM 可以管理 Linux Docker 容器,被管理的 Linux 系统需要安装 ECSD。下面以 Debian 系统为例介绍 ECSD 的安装步骤。
步骤 1:下载 ECSD 及相关工具
步骤 2:安装 docker
更新包缓存:
acoinfo@acoinfo:~$ sudo apt update acoinfo@acoinfo:~$ sudo apt-get install ca-certificates curl gnupg lsb-release
安装证书:
acoinfo@acoinfo:~$ sudo mkdir -m 0755 -p /etc/apt/keyrings acoinfo@acoinfo:~$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
写入软件源信息:
acoinfo@acoinfo:~$ echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null acoinfo@acoinfo:~$ sudo apt-get update
安装 docker:
acoinfo@acoinfo:~$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
步骤 3:使用 hello-world 镜像验证
拉取 hello-world 镜像:
acoinfo@acoinfo:~$ sudo docker run hello-world
说明:
首次获取 hello-world 镜像时,由于在本地找不到,会从远程镜像库中拉取并下载。
测试运行 hello-world:
acoinfo@acoinfo:~$ sudo docker run hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly.
步骤 4:生成 license 文件
修改已下载的注册程序可执行权限(以 ARM64 注册程序为例)。
acoinfo@acoinfo:~$ chmod 755 realevo-register_arm64
执行注册程序,提示输入 SN 号。可在如下链接 联系我们 获取授权 SN。
acoinfo@acoinfo:~$ ./realevo-register_arm64 Please input your SN:
输入 SN 号后,根据提示选择绑定的网卡,选择后将显示注册码。
acoinfo@acoinfo:~$ ./realevo-register_arm64 Please input your SN: xxxxxxxxxx Which net adapter do you want to bind SN: 0--vethb90de57 1--ens3 2--docker0 Please input number before the network adapter name: 1 Your register code is: YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY Please open url http://www.sylixos.com/register/register_new.html
进入注册网站 https://www.sylixos.com/register/register_new.html ,使用注册码获取授权 license 信息。
将生成的 license 输入到授权终端后,完成注册流程,将在授权程序当前目录下生成 license 文件。
Your register code is: YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY Please open url http://www.sylixos.com/register/register_new.html input your reigster code. Please input your license: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Register success, license file:./license
步骤 5:部署 ECSD
将
ecsd-vx.x-docker-arch.tar.gz
镜像包及ecsd.sh
复制到 Linux 内,并执行以下命令导入容器镜像:acoinfo@acoinfo:~$ gunzip -c ecsd-v0.4.19-docker-x86.tar.gz | sudo docker image load
使用脚本启动容器,该脚本程序将通过 "docker image" 命令搜索 ecsd 相关的镜像,并提示用户选择后运行。
acoinfo@acoinfo:~$ sudo chmod +x ecsd.sh acoinfo@acoinfo:~$ ./ecsd.sh ECSD license loaded from 'xxxxxxxxxx/license': xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 1) acoinfo/ecsd:0.4.18 c5d4ae8a6eab Select ecsd version to run: 1 Start ECSD image acoinfo/ecsd:0.4.18 - c5d4ae8a6eab as container: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Done
可以查看当前的容器,出现如下内容则说明启动成功。
acoinfo@acoinfo:~$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE ecsd/ecsd 20221230.14-32-24.0.4.4 42f537c989ef 6 weeks ago 203MB
注意:
ecsd.sh 中的 TAG 信息要和当前 ECSD 的 TAG 信息一致。
在 Linux 节点创建 /etc/docker/daemon.json 文件,内容如下:
{ "insecure-registries" : [ "192.168.128.1/24" ] }
说明:
insecure-registries 为 ECSM 所在网络的网关地址。