文档首页 > > 用户指南> 容器应用管理> 容器应用

容器应用

分享
更新时间: 2019/09/27 GMT+08:00

IEF支持下发容器应用到边缘节点,您可以下发如下两类容器应用。

  • 边缘市场中的边缘应用。具体方法请参见边缘市场
  • 自定义边缘应用。本节主要介绍如何创建自定义边缘应用。

创建边缘应用

  1. 登录IEF管理控制台。
  2. 选择左侧导航栏的“边缘应用 > 容器应用”,单击页面右上角“创建容器应用”
  3. 填写基本信息。

    • 名称:容器应用的名称。
    • 实例数量:应用实例的数量。
    • 配置方式
      • 自定义配置:即从零开始配置容器应用,具体请参见4-6
      • 应用模板配置:选择一个已经定义好的应用模板,可以在模板的基础上进行修改,使用应用模板能够帮助您省去重复的工作量。模板的定义与4-6需要的配置相同,创建模板的方法请参见应用模板

  4. 配置容器。

    选择需要部署的镜像,单击 “使用镜像”
    • 我的镜像:展示了您在容器镜像服务中创建的所有镜像。
    • 他人共享:展示了其他用户共享的镜像。

    选择镜像后,您可以配置容器的规格

    • 镜像版本:请选择需要部署的镜像版本。
    • 容器规格:根据需要选择容器CPU、内存、AI加速卡的配额。

    您还可以对容器进行如下高级配置。

    • 运行命令

      Docker 镜像拥有存储镜像信息的相关元数据,如果不设置生命周期命令和参数,容器运行时会运行镜像制作时提供的默认的命令和参数,Docker 原生定义这两个字段为 “ Entrypoint ” 和 " CMD "。详情可查看 docker的 Entrypoint 说明CMD 说明

      如果在创建工作负载时填写了容器的运行命令和参数,将会覆盖镜像构建时的默认命令 " Entrypoint "、" CMD ",规则如下:

      表1 容器如何执行命令和参数

      镜像 Entrypoint

      镜像CMD

      容器运行命令

      容器运行参数

      最终执行

      [touch]

      [/root/test]

      未设置

      未设置

      [touch /root/test]

      [touch]

      [/root/test]

      [mkdir]

      未设置

      [mkdir]

      [touch]

      [/root/test]

      未设置

      [/opt/test]

      [touch /opt/test]

      [touch]

      [/root/test]

      [mkdir]

      [/opt/test]

      [mkdir /opt/test]

      图1 启动命令
      • 运行命令

        输入可执行的命令,例如“/run/start”

        若可执行命令有多个,多个命令之间用空格进行分隔。若命令本身带空格,则需要加引号("")。

        说明:

        多命令时,运行命令建议用/bin/sh或其他的shell,其他全部命令作为参数来传入。

      • 运行参数

        输入控制容器运行命令参数,例如--port=8080。

        若参数有多个,多个参数以换行分隔。

    • 选项配置

      可以通过勾选“启用特权选项”,使容器拥有root权限,可以访问主机上的设备(如GPU、FPGA)。

    • 环境变量

      容器运行环境中设定的一个变量。当前支持手动输入和变量引用方式。

      • 手动输入支持自定义变量名称和变量值。
      • 变量引用支持引用“hostIP”,即边缘节点的IP地址。
      说明:

      智能边缘计算平台不会对用户输入的环境变量进行加密。

      如果用户配置的环境变量涉及敏感信息,用户需要自行加密后再填入,并在应用中自己完成解密过程。

      智能边缘计算平台服务不提供任何加解密工具,如果您需要设置加密密文,可以使用其他平台的加解密工具。

    • 数据存储

      容器可以将本地卷挂载到容器中,以实现数据文件的持久化存储。当前支持如下四种类型。

      • hostPath:将主机某个目录挂载到容器中。HostPath是一种持久化存储,应用删除后hostPath里面的内容依然存在于边缘节点本地硬盘目录中,如果后续重新创建应用,挂载后依然可以读取到之前写入的内容。

        您可以将应用日志目录挂载到主机的/var/IEF/app/log/{appName}目录,{appName}是应用名,边缘节点会将/var/IEF/app/log/{appName}目录下后缀为log和trace的文件上传到AOM。

      • emptyDir:一种简单的空目录,主要用于临时存储,支持在硬盘或内存中创建。emptyDir挂载后就是一个空目录,应用程序可以在里面读写文件,emptyDir的生命周期与应用相同,应用删除后emptyDir的数据也同时删除掉。
      • configMap:存储工作负载所需配置信息的资源类型,创建方法请参见配置项
      • secret:密钥是一种用于存储应用所需要认证信息、密钥的敏感信息等的资源类型,创建方法请参见密钥
      说明:
      • 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,应用创建失败。
      • 挂载高危目录的情况下 ,建议使用低权限账号启动,否则可能会造成宿主机高危文件被破坏。
    • 健康检查

      健康检查是指容器运行过程中根据用户需要定时检查容器健康状况或是容器中负载的健康状况。

      • 应用存活探针:应用存活探针用于探测容器是否正常工作,不正常则重启实例。当前支持发送HTTP请求和执行命令检查,通过检测容器响应是否正常
      • 应用业务探针:应用业务探针用于探测业务是否就绪,如果业务还未就绪,就不会将流量转发到当前实例。

      HTTP请求的配置方式如下图所示。

      图2 HTTP请求检查

      执行命令检查的配置方式如下图所示。

      图3 执行命令检查

  5. 单击“下一步”,进行部署配置。

    选择部署对象,当前支持两种方式。

    • 指定边缘节点

    • 自动调度

      容器应用将在边缘节点组内根据资源用量自动调度。您还可以设置故障策略,当应用实例所在的边缘节点不可用时,是否将应用实例重新调度,迁移到边缘节点组内的其他可用节点。

    • 重启策略
      • 总是重启:当应用容器退出时,无论是正常退出还是异常退出,系统都会重新拉起应用容器。
      • 失败时重启:当应用容器异常退出时,系统会重新拉起应用容器,正常退出时,则不再拉起应用容器。
      • 不重启:当应用容器退出时,无论是正常退出还是异常退出,系统都不再重新拉起应用容器。

  6. 单击“下一步”,进行访问配置。

    容器访问支持主机网络和端口映射两种方式。

    • 主机网络

      使用宿主机(边缘节点)的网络,即容器与主机间不做网络隔离,使用同一个IP。

      主机网络支持添加服务,将主机访问端口指向容器端口,这样访问主机网络的

    • 端口映射

      容器网络虚拟化隔离,容器拥有单独的虚拟网络,容器与外部通信需要与主机做端口映射。配置端口映射后,流向主机端口的流量会映射到对应的容器端口。例如容器端口80与主机端口8080映射,那主机8080端口的流量会流向容器的80端口。

      端口映射可以选择主机网卡,请注意端口映射不支持选择IPv6地址类型的网卡。

  7. 单击“下一步”,确认容器应用的规格,确认无误后单击“创建”

查看应用信息

应用部署后,您可以在IEF控制台查看应用的CPU、内存等信息。您还可以通过访问应用运维管理服务的容器监控功能,查看更多监控指标,查看并添加告警。

  1. 登录IEF管理控制台。
  2. 选择左侧导航栏“边缘应用 > 容器应用”,单击容器应用名称。
  3. 选择监控页签即可查看应用监控信息。

    图4 应用监控信息

更新升级应用

应用部署后,您可以更新升级应用。

  1. 登录IEF管理控制台。
  2. 选择左侧导航栏“边缘应用 > 容器应用”,单击容器应用名称。
  3. 选择“更新升级”,修改容器相关配置。具体配置参数与4中一致。

    图5 更新升级

  4. 配置修改后,单击“提交”

修改访问配置

应用部署后,您可以修改应用的访问配置。

  1. 登录IEF管理控制台。
  2. 选择左侧导航栏“边缘应用 > 容器应用”,单击容器应用名称。
  3. 选择“访问配置”,修改容器相关配置。具体配置参数与6中一致。

    图6 修改访问配置

  4. 配置修改后,单击“提交”
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区