OpenStack NFV Orchestration服务(OpenStack Tacker)用以构建GVNFM和NFVO,从而能够支持在NFVI平台上(如OpenStack)部署和操作网络服务(NS)和虚拟网络功能(VNF)。
OpenStack NFV Orchestration服务遵循ETSI-GS MANO Architecture Framework标准,提供一个功能栈,以将VNF装配成端对端的网络服务。
OpenStack NFV Orchestration服务的当前版本v1.0,Python实现,最早随OpenStack Liberty版本发布。
1. OpenStack NFV Orchestration的组成部分
1)NFV Catalog
- NS Descriptors,描述多个网络服务的动态组合
- VNF Descriptors,描述单个VNF
- VNF Forwarding Graph Descriptors (VNFFGD),描述VNF之间的流量关系
2)VNFM
- life-cycle of VNF
- Facilitate initial configuration
- placement of high-performance NFV workloads
- Health monitoring
- Auto Healing / Auto Scaling VNFs
3)NFVO
- Templatized end-to-end Network Service deployment
- VNF placement policy
- VNFs connected
- VIM Resource Checks and Resource Allocation
- Orchestrate VNFs across Multiple VIMs and Multiple Sites
2. OpenStack NFV Orchestration服务的基本工作流程
1)利用镜像文件实例化一个VM(即VDU, Virtual Deployment Unit)
2)在VDU中创建或获取YAML模板文件
3)Onboarding VNF,即基于YAML模板文件创建VNFD,并得到VNFD ID
tacker vnfd-create --vnfd-file sample-vnfd.yaml
4)Deploying VNF
5)通过VNFD创建VNF
tacker vnf-create --vnfd-id
或
tacker vnf-create --vnfd-name
6)直接通过YAML模板文件创建VNF
tacker vnf-create --vnfd-template sample-vnfd-hello-world.yaml
7)操作VNF实例
tacker vim-list
tacker vnfd-list
tacker vnf-list
tacker vnf-show
tacker vnfd-show
8)删除VNF和VNFD
tacker vnf-delete
tacker vnfd-delete
3. OpenStack NFV Orchestration服务的APIs
- /
- /v1.0/extensions
- /v1.0/vnfds
- /v1.0/vnfs
- /v1.0/vims, controlling and managing Network Function Virtualization Infrastructure (NFVI)
- /v1.0/events
- /v1.0/vnffgds
- /v1.0/vnffgs
- /v1.0/nfps, Network Forwarding Paths (NFPs), a component of VNFFG and contains a Service Function Chain (SFC) and a classifier
- /v1.0/classifiers, a component of a NFP and defines policies to distinguish which traffic should enter the related SFC
- /v1.0/sfcs, Service Function Chains (SFCs)
- /v1.0/nsds, Network Service Descriptors, a TOSCA template that describes the deployment and behaviour of a Network Service (NS) using a collection of VNFs
- /v1.0/nss, Network Servicess (NSs), NS resources are instantiations of network services described in the associated NSD TOSCA template.
4. VNFC扩展:
OpenStack NFV Orchestration服务不满足于通过镜像文件预定义的网络功能,还可以通过VNFC实现灵活配置的网络功能。
VNF Component (VNFC)是一种定义网络功能的软件,部署在VDU中。
5. 参考文献
https://wiki.openstack.org/wiki/Tacker
http://specs.openstack.org/openstack/tacker-specs/
https://docs.openstack.org/developer/tacker/
https://github.com/openstack/tacker
https://developer.openstack.org/api-ref/nfv-orchestration/v1/