Kubernetes-上部署云原生微服务网关-APISIX-如何快速的在 (kubernetes与docker的关系)

教程大全 2025-07-16 08:45:16 浏览

如何快速的在 Kubernetes 上部署云原生微服务网关 APISIX

2021-09-08 11:25:45本文主要简述了几种网关的区别,思考了 APISIX 主要能帮助我们解决什么问题,最后在 Kubernetes 上进行了实践。

1、几种常见网关的比较

APISIX 的优势在于提供了 API 的管理和扩展能力,让网关不再仅仅转发服务,而是可以被配置、定制化。相较于 Nginx,APISIX 使用的是动态路由,避免了配置之后 reload 产生的风险。同时,APISIX 支持 HTTP(S)、HTTP2、Dubbo、QUIC、MQTT、TCP/UDP 等更多的协议,具有更好的使用生态。

上面是 APISIX 的架构图,数据面处理客户端请求,控制面管理路由。

2、APISIX 能解决什么问题

机房对外暴露的访问入口 IP 数量,通常是极少的,但是却支撑了很多个服务。比如,访问的 IP 是 1.2.3.4,但却同时提供了 a.domain.com、b.domain.com 的访问服务。这就需要用到边缘路由,边缘路由会将不同域名的访问,转发到不同的内网地址。

APISIX 中三种方式可以注册边缘路由,dashboard、ingress-controller、admin api。

APISIX

网关的功能不限于转发流量,更重要的是限流、熔断等。

APISIX 内置了很多插件,提供 APM、日志、熔断、鉴权、证书管理、故障注入等功能。同时,也支持拖拽组合新的插件、开发新插件以满足业务需求。

APISIX 通过插件的方式提供 Serverless,目前仅支持 lua。但 APIGateway + Serverless 的组合,极具想象力。

利用 Serverless 可以快速对外提供无服务的 API,粘合各种服务,也可以对外直接提供功能服务。

由于对网关层进行了控制,APISIX 允许用户通过配置权重控制流量的转发行为,可以用来做灰度发布使用。

3、Kubernetes 上安装 APISIX

(1)添加 Helm 源

(2)安装 APISIX

这里的入口地址是后端服务的入口地址,如果是生成环境,应该使用 LoadBalancer 提供的地址。

第一个 Key 是 admin,第二个 key 是 viewer。这里的 key 可以用来通过 admin api 来配置 APISIX,给其他系统集成 APISIX 提供了入口。

(3)安装 Dashboard

默认账户是:admin 默认密码是:admin

(4)安装 ingress-controller

这里就会需要设置上面获取到的 admin key, 实际上 ingress-controller 也是通过调用 admin api 来配置路由的。

4、创建服务测试

前面提到 APISIX 通过 admin api 配置路由,有三种方式可以操作。这里主要验证使用 Dashboard 和 Ingress 两种方式:

$ kubectl get service web

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE

web NodePort 10.233.58.113 8080:30572/TCP 28d

(1)Dashboard 配置路由

这里需要填入上面创建的集群访问地址:web.default.svc.cluster.local

点击下一步之后,选择上面创建的服务 web,相关的参数就会自动填充。

(2)Ingress 配置路由

虽然这里部署的是 ingress-controller 组件,但是使用时创建的是 ApisixRoute 对象。

可以发现路由是被 ingress-controller 接管的,人工不要编辑。

可以看到服务主要是由四个后端提供。

APISIX 会将 Pod 的 IP 地址直接作为流量后端,而不需要经过 Service 的转发,这有别于 Kubernetes 的服务转发、负载均衡机制。

5、总结

本文主要简述了几种网关的区别,思考了 APISIX 主要能帮助我们解决什么问题,最后在 Kubernetes 上进行了实践。内容如下:

6、参考


SD-WAN路由器和防火墙如何?

SD-WAN 路由器不需要位于防火墙后面,但如果安全策略要求,则可以。 分支机构中的 WAN 路由器通常直接连接到传输,而不是位于单独的防火墙设备后面。 当在 WAN 边缘路由器的传输物理接口上配置隧道时,默认情况下,WAN 边缘路由器的物理接口仅限于有限数量的协议。 默认情况下,除了 DTLS/TLS 和 IPsec 数据包外,还允许 DHCP、DNS、ICMP 和 HTTPs 本机数据包进入接口。 默认情况下,用于底层路由的 SSH、NTP、STUN、NETCONF 和 OSPF 和 BGP 本地数据包处于关闭状态。 建议禁用不需要的任何内容并最小化您允许通过接口的本机协议。

此外,请注意,如果防火墙位于 WAN 边缘路由器的前面,则防火墙无法检查大多数流量,因为防火墙会看到用于 WAN 边缘路由器数据平面连接的 AES 256 位加密 IPsec 数据包和用于 WAN 的 DTLS/TLS 加密数据包边缘控制平面连接。 但是,如果使用防火墙,则需要通过打开防火墙上所需的端口来适应 SD-WAN 路由器的 IPsec 和 DTLS/TLS 连接。 如果需要应用NAT,推荐一对一的NAT,尤其是在数据中心站点。 其他 NAT 类型可以在分支机构使用,但对称 NAT 可能会导致与其他站点的数据平面连接出现问题,因此在部署时要小心。

请注意,对于直接互联网流量和 PCI 合规性用例,IOS XE SD-WAN 路由器支持其自己的原生完整安全堆栈,其中包括应用程序防火墙、IPS/IDS、恶意软件保护和 URL 过滤。 这种安全堆栈支持消除了在远程站点部署和支持额外安全硬件的需要。 vEdge 路由器支持其自己的基于区域的防火墙。 这两种路由器类型都可以与 Cisco Umbrella 集成作为安全互联网网关 (SIG),以实现基于云的安全性。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐