搭建 Linux 运行环境


搭建 Linux 运行环境

Linux 支持运行 C/C++、Java 和 JavaScript 语言开发的微服务,且运行微服务前需要部署云原生 SDK 运行环境。本节将分别介绍如何在 Linux 系统中搭建 C/C++、Java 和 JavaScript 运行环境,并安装容器管理引擎 ECSD。

下载云原生 SDK

Linux 云原生 SDKopen in new window

搭建运行环境

搭建 C/C++ 程序运行环境

Linux 云原生 SDK 提供了 C/C++ 开发依赖的头文件和库文件以及授权程序,共提供 arm64、amd64 或 i386 三个版本,用户可以根据系统环境选择对应架构的安装包下载安装,不同架构在 SDK 目录内对应关系如下所示:

名称架构内容
libvsoa-dev_1.6.2_amd64.debamd64VSOA x86_64 架构的库文件以及 VSOA 的头文件
libvsoa-dev_1.6.2_arm64.debarm64VSOA aarch64 架构的库文件以及 VSOA 的头文件
libvsoa-dev_1.6.2_i386.debi386VSOA x86 架构的库文件以及 VSOA 的头文件
libvsoa-register_1.6.2_amd64.debamd64VSOA x86_64 架构的授权程序
libvsoa-register_1.6.2_arm64.debarm64VSOA aarch64 架构的授权程序
libvsoa-register_1.6.2_i386.debi386VSOA x86 架构的授权程序

用户可以使用 Linux C/C++ 验证范例open in new window 对 Linux 中的云原生 C/C++ 运行环境进行验证。

C/C++ SDK 使用前用户需要按照如下流程进行授权:

  1. 在环境中安装下载的 VSOA SDK 安装包。

    acoinfo@acoinfo:~$ sudo dpkg -i ./libvsoa-dev_1.6.2_amd64.deb ./libvsoa-register_1.6.2_amd64.deb
    
  2. 执行 vsoa-register,按照提示输入 VSOA Linux 版本的 SN 号,具体 SN 号请通过 联系我们open in new window 获取。

    acoinfo@acoinfo:~$ vsoa-register
    Please input your SN:
    xxxxxxxxxxxxxx
    
  3. 根据提示输入需要绑定的硬件网卡信息。

    Which net adapter do you want to bind SN:
    
    0 -- eth0
    
    Please input number before the network adpater name: 0
    
  4. 网卡绑定成功后会自动生成 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:
    
  5. 使用浏览器访问如上提示的链接 http://www.sylixos.com/register/register_new.htmlopen in new window ,输入 register code,并单击 submit。

  6. 如图将得到生成的 License 序号。

  7. 将该 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/vsoaopen in new window 。 在 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/vsoaopen in new window

用户可以参考 Linux JavaScript 验证范例open in new window 对 Linux 中的云原生 JavaScript 运行环境进行验证。

安装容器管理引擎 ECSD

容器管理平台 ECSM 可以管理 Linux Docker 容器,被管理的 Linux 系统需要安装 ECSD。下面以 Debian 系统为例介绍 ECSD 的安装步骤。

步骤 1:下载 ECSD 及相关工具

步骤 2:安装 docker

  1. 更新包缓存:

    acoinfo@acoinfo:~$ sudo apt update
    acoinfo@acoinfo:~$ sudo apt-get install ca-certificates curl gnupg lsb-release
    
  2. 安装证书:

    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
    
  3. 写入软件源信息:

    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
    
  4. 安装 docker:

    acoinfo@acoinfo:~$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    

步骤 3:使用 hello-world 镜像验证

  1. 拉取 hello-world 镜像:

    acoinfo@acoinfo:~$ sudo docker run hello-world
    

    说明:

    首次获取 hello-world 镜像时,由于在本地找不到,会从远程镜像库中拉取并下载。

  2. 测试运行 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 文件

  1. 修改已下载的注册程序可执行权限(以 ARM64 注册程序为例)。

    acoinfo@acoinfo:~$ chmod 755 realevo-register_arm64
    
  2. 执行注册程序,提示输入 SN 号。可在如下链接 联系我们open in new window 获取授权 SN。

    acoinfo@acoinfo:~$ ./realevo-register_arm64
    Please input your SN:
    
  3. 输入 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
    
  4. 进入注册网站 https://www.sylixos.com/register/register_new.htmlopen in new window ,使用注册码获取授权 license 信息。

  5. 将生成的 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

  1. 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
    
  2. 使用脚本启动容器,该脚本程序将通过 "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
    
  3. 可以查看当前的容器,出现如下内容则说明启动成功。

    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 信息一致。

  4. 在 Linux 节点创建 /etc/docker/daemon.json 文件,内容如下:

    {
        "insecure-registries" : [
            "192.168.128.1/24"
        ]
    }
    

    说明:

    insecure-registries 为 ECSM 所在网络的网关地址。