我需要在我的所有服务之前设置大使API网关。Ambassador将执行多种操作,如速率限制、日志记录、DDoS保护等。
特别是从DDoS防护的角度来看,在主应用程序Kubernetes集群之外托管Ambassador API网关是最佳做法吗?或者在单独的命名空间中托管并对其进行配额限制?
在同一个k8s集群中托管API网关可能会导致集群因不必要的流量而不堪重负,但如果我在单独的k8s集群上托管API网关,则可以从这种情况下保存k8s集群。
此外,大使API网关是否可以部署在非k8s基础设施和HA模式?
据我所知,有两件事
大使API网关和边缘堆栈
Ambassador是开源的,而edge stack是付费的。
您可以在VM和linux上安装边缘堆栈,但对于API网关,只有YAML和helm可用。
你可以设置利率限制来节省DDO。
在同一个k8集群内托管API网关可能导致集群由于不必要的流量而不堪重负,但如果我托管API单独的k8s集群上的网关应用程序k8s集群可以保存在这种情况下。
在这种情况下你是对的,但如果你使用K8,你可以使用节点亲和性来修复特定节点上的API网关的pods,或者将其作为守护进程集运行。设置亲和性和反亲和性可能有助于分离POD或应用程序和API网关。