云计算Openstack Neutron-十三、API

时间:2024-09-30 08:49:26

OpenStack Neutron API是OpenStack网络虚拟化组件Neutron提供的一套应用程序接口(API),它允许用户通过编程方式创建、管理和查询云环境中的网络资源。以下是对OpenStack Neutron API的详细介绍:

1、概述

Neutron API主要用于提供REST API访问,实现的核心是WSGI(Web Server Gateway Interface)。它允许用户通过HTTP请求来与Neutron服务进行交互,实现网络资源的动态配置和管理。Neutron API并没有像其他项目一样单独提供一个API服务,而是将API封装进了neutron-server,以Core API和Extension API两种资源方式提供。

2、Core API与Extension API

  • Core API:只对应于ML2(Modular Layer 2)层的network、subnet、port三种核心资源的抽象。这些资源是构建虚拟网络的基础。
  • Extension API:包括除了Core API之外的所有网络资源的抽象,如L3(router)、L4(tcp/udp firewall)、L7(load balancer)等。随着Neutron项目的不断成熟,这些扩展API可能会演化为标准API。

3、使用方式

用户可以通过以下三种方式使用Neutron API:

  1. 通过Web界面:使用OpenStack的Dashboard(Horizon)界面来配置和使用网络资源。
  2. 通过命令行:使用neutron命令行工具或最新的openstack命令来管理网络资源。
  3. 通过API:直接编写程序或使用第三方库来调用Neutron API,实现更灵活和自动化的网络管理。

4、API资源与路径

Neutron API提供了丰富的资源路径,以支持不同的网络管理需求。以下是一些常见的API资源与路径示例:

  • /v2.0/networks:用于创建、列出、获取和删除网络。
  • /v2.0/subnets:用于创建、列出、获取和删除子网。
  • /v2.0/ports:用于创建、列出、获取和删除端口。
  • /v2.0/routers:用于创建、列出、获取和删除路由器。
  • /v2.0/floatingips:用于创建、列出、获取和删除浮动IP。