apisix对openstack进行操作

本文旨在记录apisix与openstack对接的思路。

背景介绍:

原环境:keepalived+haporxy+openstack 三个节点高可用+负载均衡 所有服务部署在三个节点上

改造方案:

1.两节点:keepalived+apisix实现高可用

2.apisix对三个controller节点实现负载均衡

3.共需5个服务器

apisix与openstack脚本对接:仅记录思路

资源定义:

1:openstack对应服务的 节点ip及端口号 用于创建upstream

2:高优先级路由的uri和method 以及对应plugin的参数设置

3:低优先级(端口号匹配)的结构体构建

逻辑定义:

创建upstream:先构建node信息,将openstack服务名称作为upstream的id

创建services:直接以服务名称作为id,并绑定同id的upstream

创建高优先级router:绑定同名称的service,同时根据资源定义2中定义的参数,构建req-body

创建低优先级路由:端口号匹配,其优先级一定低于高优先级路由

删除逻辑:

删除route:必须再创建时,记录了所有route的id,遍历删除

删除service:根据openstack服务名称删除

删除upstream:根据openstack服务名称删除

 

所有逻辑为线性,不然会出错

 

    

 

posted @ 2022-06-15 15:20  fazzer  阅读(116)  评论(0)    收藏  举报