Tungsten Fabric架构解析丨TF支持API一览
-
Hi!这里是Tungsten Fabric架构解析内容的第八篇,介绍TF支持的几种API。 Tungsten Fabric架构解析系列文章,由TF中文社区为你呈现,旨在帮助初入TF社区的朋友答疑解惑。我们将系统介绍TF有哪些特点、如何运作、如何收集/分析/部署、如何编排、如何连接到物理网络等话题。 欢迎大家在后台留言给我们,把你最希望了解的问题告诉我们,小编去帮你寻找答案。想看前期已发布的文章,请留意文末链接。
Tungsten Fabric支持以下API:
-
用于控制器配置的REST API
-
映射到REST配置API的Python绑定
-
用于访问分析数据的REST API
下面我们逐一进行描述。
用于控制器配置的REST API
通过在Tungsten Fabric外部虚拟IP地址的端口8082上访问的REST API,可以获得Tungsten Fabric群集的所有配置。 用户可以使用HTTP GET调用来检索资源列表或其属性的详细信息。 数据作为JSON对象返回。
可以通过发送包含新对象属性的JSON来表示HTTP POST命令,对Tungsten Fabric对象模型(例如,添加虚拟网络,创建服务链)进行更改。
在编译和构建Tungsten Fabric时,将从数据模型模式文件自动生成REST API。
Python 绑定
在编译期间也会自动生成一组映射到REST API的Python绑定。
在Python会话或脚本中,会话打开如下:
from vnc_api import vnc_api \ \ vnc = vnc_api.VncApi( \ username = "admin", \ password = "", \ tenant_name = "admin", \ api_server_host = "10.1.1.1", \ auth_host = "10.1.1.2") \
可以使用以下方法创建虚拟网络:
tenant=vnc.project_read(fq_name=['default-domain', tenant_name]) vn=vnc_api.VirtualNetwork(name=name, parent_obj=tenant) ipam=vnc.network_ipam_read(fq_name=['default-domain',tenant_name, ipam_name]) prefix, prefix_len = cidr.split('/') subnet=vnc_api.SubnetType(ip_prefix=prefix,ip_prefix_len=prefix_len) ipam_subnet=vnc_api.IpamSubnetType(subnet=subnet) vn.set_network_ipam(ref_obj=ipam,ref_data=vnc_api.VnSubnetsType([ipam_subnet])) vnc.virtual_network_create(vn)
Python绑定通常比REST API更容易使用,因为它不需要使用JSON有效负载。
分析 REST API
通过Tungsten Fabric外部虚拟IP地址的端口8082上的REST API,可以访问在Tungsten Fabric中收集的分析数据。配置和操作信息在称为用户可见实体(UVE)的对象中进行组织,这些对象可以包含从多个Tungsten Fabric组件聚合的属性。
例如,虚拟网络的操作信息可能来自vRouter,配置pods和控制pods。Analytics API的输出采用JSON有效负载的形式。使用指向数据位置的直接URL检索UVE数据。
HTTP GET查询用于检索分析数据库中的列表,并获取其API和schemas。
HTTP POST查询用于检索存储在表中的时间序列数据。POST查询包括SQL查询的JSON格式版本,该版本指定表、字段以及要匹配的条件。Analytics API包含一个附加功能,允许为检索到的数据指定开始时间和结束时间。
根据阈值交叉事件,Analytics API可用于为存储在分析数据库中的任何时间序列配置和检索警报。
可以为分析数据库中的任何UVE或警报配置服务器发送事件(SSE)流。
更多Tungsten Fabric解析文章
第一篇:TF主要特点和用例
第二篇:TF怎么运作
第三篇:详解vRouter体系结构
第四篇:TF的服务链
第五篇:vRouter的部署选项
第六篇:TF如何收集、分析、部署?
第七篇:TF如何编排
-