服务调用
所有文档

          智能边缘 BIE

          服务调用

          名词定义

          容器应用:由容器服务配置和数据卷配置组成的应用。

          函数应用:由函数服务配置和数据卷配置组成的应用。

          功能简介

          "服务调用"是指在边缘节点上,可以通过约定的域名地址访问到运行在边缘计算平台上的其他服务。服务间的调用本质上基于 Kubernetes Pods 的网络模型和 Kubernetes Service 资源,更多信息请参阅 Kubernetes文档:使用 Service 连接到应用

          使用流程

          服务调用分为两类,分别是调用"容器应用"的服务、调用"函数应用"的服务。

          容器应用

          1. 创建容器应用

          在应用列表页面点击"创建应用"进入应用创建页面。填写应用信息,然后选择"容器应用",并在服务配置信息界面填写需要暴露的"容器端口"。 配置了"容器端口"之后,边缘计算平台会为该服务在端侧创建一个 Kubernetes Service 资源,用于代理到该服务对应的 Pods 的网络流量。如何创建应用具体可以参考 应用部署

          比如,创建了一个服务,用于部署 nginx 程序,并配置了 80 容器端口:

          image.png

          部署到边缘计算节点上后,通过 kubectl 命令查看,可以观察到已经创建了一个 nginx 名称的 Kubernetes Service 资源。

          image.png

          其中,Kubernetes Service 名称与服务配置信息界面中的服务名称相同。

          接下来我们在边缘节点上的 Kubernetes 集群中,通过 Kubernetes Service 去访问 nginx 应用。

          1. 服务调用

          我们可以通过上一步中的 服务名:容器端口号 去访问具体的服务,比如对于上一步部署的 nginx 服务,可以使用 nginx:80 去访问 nginx 服务。例如对于 http 服务,可以按照如下格式请求:

          http://[service]:[port]/

          其中 service 表示应用中的服务名称,port 表示该服务配置中的容器端口。

          此外,边缘计算平台也会有一些系统容器应用,部署在不同的 Kubernetes 命令空间中,目前可以访问的系统容器应用有 baetyl-broker、baetyl-function,可以按照如下格式请求:

          [baetyl-broker|baetyl-function].baetyl-edge-system:[port]

          其中 port 是系统容器应用的端口,支持配置;baetyl-edge-system 是系统容器应用所在的 Kubernetes 命令空间。

          函数应用

          对于函数应用的调用方式,与容器应用有所不同。端侧函数计算框架由前端代理和后端函数运行时(函数应用)两部分组成。baetyl-function 提供前端代理,是函数入口,通过暴露 HTTP 接口供其他服务调用,然后将请求透传给后端的函数运行时模块。

          我们可以按照如下格式去请求某一个函数应用:

          https://baetyl-function.baetyl-edge-system:50011/[function-service]/[function]

          其中 50011 为 baetyl-function 提供服务的端口;function-service 是函数应用的服务的名称,function 表示函数入口,如果 funciton 字段不指定的话,后端函数运行时会默认选择自身函数列表中的第一个函数。

          上一篇
          远程调试
          下一篇
          应用案例