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
1)利用镜像文件实例化一个VM(即VDU, Virtual Deployment Unit)
2)在VDU中创建或获取YAML模板文件
3)Onboarding VNF,即基于YAML模板文件创建VNFD,并得到VNFD ID
4)Deploying VNF
5)通过VNFD创建VNF
6)直接通过YAML模板文件创建VNF
7)操作VNF实例
8)删除VNF和VNFD
3. OpenStack NFV Orchestration服务的APIs
VNF Component (VNFC)是一种定义网络功能的软件,部署在VDU中。
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/
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之间的流量关系
- life-cycle of VNF
- Facilitate initial configuration
- placement of high-performance NFV workloads
- Health monitoring
- Auto Healing / Auto Scaling VNFs
- 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
1)利用镜像文件实例化一个VM(即VDU, Virtual Deployment Unit)
2)在VDU中创建或获取YAML模板文件
3)Onboarding VNF,即基于YAML模板文件创建VNFD,并得到VNFD ID
tacker vnfd-create --vnfd-file sample-vnfd.yaml <VNFD_NAME>
4)Deploying VNF
5)通过VNFD创建VNF
tacker vnf-create --vnfd-id <VNFD_ID> <VNF_NAME>
或
tacker vnf-create --vnfd-name <VNFD_NAME> <VNF_NAME>
6)直接通过YAML模板文件创建VNF
tacker vnf-create --vnfd-template sample-vnfd-hello-world.yaml <VNF_NAME>
7)操作VNF实例
tacker vim-list
tacker vnfd-list
tacker vnf-list
tacker vnf-show <VNF_ID>
tacker vnfd-show <VNFD_ID>
8)删除VNF和VNFD
tacker vnf-delete <VNF_ID/NAME>
tacker vnfd-delete <VNFD_ID/NAME>
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/Tackerhttp://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/