上云无忧 > 文档中心 > 百度智能云智能边缘 - 边缘服务调用
智能边缘
百度智能云智能边缘 - 边缘服务调用

文档简介:
名词定义: 容器应用:由容器服务配置和数据卷配置组成的应用。 函数应用:由函数服务配置和数据卷配置组成的应用。 功能简介: "边缘服务调用"是指在边缘节点上,可以通过约定的域名地址访问到运行在边缘计算平台上的其他服务。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

名词定义

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

功能简介

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

使用流程

边缘服务调用分为调用用户应用服务 、调用系统应用服务 和 调用函数应用服务

调用用户应用服务

创建容器应用

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

比如,创建了一个 nginx 应用,端口映射部分配置了容器端口为80,服务类型为ClusterIP,如下图所示:

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

其中,Kubernetes Service 名称与服务配置信息界面中的服务名称相同。接下来我们在边缘节点上的 Kubernetes 集群中,通过 Kubernetes Service 去访问 nginx 应用。

说明:如果上面的服务类型为 NodePort,则边缘侧的服务名称为nginx-nodeport,会自动带上-nodeport的后缀。边缘侧服务调用也需要使用nginx-nodeport。

服务调用

我们可以通过上一步中的 [服务名.baetyl-edge]:[容器端口号] 去访问具体的服务,比如对于上一步部署的 nginx 服务,可以使用 http://nginx.baetyl-edge:80 去访问 nginx 服务。其中baetyl-edge是用户应用的namespace。

服务名称格式:

[协议名称]://[service-name.baetyl-edge]:[port]

参数解释

  • 协议名称:所使用的协议,比如http,https,tcp,tls,ssl,mqtt,mqtts,opc.tcp等。具体使用的协议名称取决于代码实现方式,举例如下:

    • go语言连接baetyl-broker,服务访问地址ssl://baetyl-broker.baetyl-edge-system:50010,协议名称为ssl
    • nodejs语言连接baetyl-broker,服务访问地址mqtts://baetyl-broker.baetyl-edge-system:50010,协议名称为mqtts
  • service-name: 表示应用中的服务名称。如果是nodeport形式暴露,一般会有-nodeport这样的后缀
  • baetyl-edge: 使用BIE部署的用户应用,全部都在baetyl-edge这个namespace之下
  • port: 表示该服务配置中的容器端口。

常见服务名称名称示例:

# http协议 http://nginx.baetyl-edge:80 # 所有通过nodeport部署的服务,需要在服务名称后面增加-nodeport这样的后缀,
示例如下: http://paddle-serving-ocr-nodeport.baetyl-edge:9999/ocr/prediction # opc协议 opc.tcp
://baetyl-opcua-simulator.baetyl-edge-system:4840 # ws协议 ws://baetyl-broker.baetyl-edge-system:8883 
# wss协议 wss://baetyl-broker.baetyl-edge-system:8884

调用系统应用服务

边缘计算平台也会有一些系统应用,如baetyl-broker,baetyl-core,部署在 baetyl-edge-system 命令空间中,可以按照如下格式请求:

# mqtt协议访问baetyl-broker系统应用 tcp://baetyl-broker.baetyl-edge-system:1883 mqtt:
//baetyl-broker.baetyl-edge-system:1883 # mqtts协议访问baetyl-broker系统应用 ssl:
//baetyl-broker.baetyl-edge-system:50010 mqtts://baetyl-broker.baetyl-edge-system:50010
 # https协议访问 baetyl-core 的节点影子接口 https://baetyl-core.baetyl-edge-system/node/properties
https://baetyl-core.baetyl-edge-system:443/node/properties

参数解释

  • baetyl-broker:系统应用baetyl-broker的服务名称是固定的,就叫baetyl-broker
  • baetyl-edge-system:是系统容器应用所在的 Kubernetes 命令空间
  • port :是系统容器内端口,支持自定义配置
  • http/https/tcp:具体调用服务的协议

调用函数应用服务

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

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

# http协议访问baetyl-function https://baetyl-function.baetyl-edge-system:50011/[function-service]/[function]

参数解释

  • 50011 : 是 baetyl-function 提供服务的端口,固定不变
  • function-service : 是函数应用的当中的服务名称,在创建函数服务的时候定义
  • function :表示函数入口,如果 funciton 字段不指定的话,后端函数运行时会默认选择自身函数列表中的第一个函数

相似文档
  • 1、Deployment类型说明: Deployment 类型应用将在 BIE边缘节点 上生成1个副本(pod),不管这个BIE边缘节点是集群类型,还是单机类型,包含多少个 Kubernetes节点 。
  • DaemonSet类型说明: DaemonSet 类型应用将在 BIE边缘节点 中的每个 Kubernetes节点 上生成一个副本。 如果边缘节点是集群类型,比如一个包含1 master + 2 worker 3个Kubernetes节点。当部署一个DaemonSet 类型应用的时候,每一个Kubernetes节点上都会有pod。
  • Job类型工作负载说明: 选择Job类型工作负载,在边缘侧成功部署后,会生成一次性Job任务。 操作指南: 创建应用: 在应用列表点击创建应用,容器配置如下
  • 概述: 在边缘计算场景下,用户部署边缘应用后,可在边缘端通过「服务名+端口号」或「IP+端口号」的方式访问边缘服务,尤其是AI服务。 QPS监控是为了监控边缘服务的调用情况,方便用户对已部署服务的调用信息进行查看。下面介绍开启边缘服务QPS监控的具体操作步骤。
  • 功能说明: 通过端口映射可以将边缘服务暴露出来,端口映射的服务类型分为nodeport和clusterip,具体含义如下: ClusterIP:通过集群内部IP地址暴露服务,但该地址仅在集群内部可见、可达,它无法被集群外部的客户端访问。在对外端口位置输入hostPort,就可以将容器内端口映射到的宿主机端口上。可以通过Pod所Node的IP:hostPort 来访问这个服务。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部