是否有用于 Azure AKS(Azure kubernetes 服务)集群的 API 网关

Posted

技术标签:

【中文标题】是否有用于 Azure AKS(Azure kubernetes 服务)集群的 API 网关【英文标题】:Is there any API Gateway for Azure AKS (Azure kubernetes services) cluster 【发布时间】:2019-08-15 07:49:34 【问题描述】:

我是 AKS 的新手。我计划在 Azure 平台上使用 AKS 集群(Azure kubernetes 服务)部署微服务,并且我希望通过 Azure AD 支持的可靠身份验证和授权来保护它。为此,我正在寻找最适合支持 kubernetes 的 API 网关,即 AKS

API 网关应具备以下功能 -

    1. Authentication and Authorization support
    2. Azure Active directory integration
    3. SSL termination
    4. KPI Metrics
    5. Load Balancing
    6. Request Tracing
    7. Auto scaling
    8. Pre/Post request processing

我已经探索了几个选项,例如 Ingress Controller、Ambassador。 此外,由于客户端的一些限制,我们无法使用 Azure API 管理。

【问题讨论】:

有哪些限制阻止使用 Azure APIM? 【参考方案1】:

没有任何东西支持所有这些“in box”。您可以使用 Azure 应用程序网关,但它不会执行 1、2、6、8(不确定 6 到底是什么意思)。你可以看看Istio,它有很多功能。但要进行跟踪,您可能需要使用 Jaeger\Zipkin 之类的东西。

我认为您可以使用 zipkin 的 oAuth 功能来验证来自 Azure AD 的 oAuth 令牌,但您可能需要将该部分卸载到服务中。

【讨论】:

感谢您的回答,谢谢。请求跟踪意味着我想在流经不同组件时跟踪我的请求。您对大使有何看法 [getambassador.io/] 从未使用过大使,抱歉。可以完全按照我在答案中指定的方式实现请求跟踪

以上是关于是否有用于 Azure AKS(Azure kubernetes 服务)集群的 API 网关的主要内容,如果未能解决你的问题,请参考以下文章

从 AKS 访问 Azure Blob 存储

在 Azure AKS 中使用 Kubernetes Ingress 都有哪些优势

Azure AKS HPA 无法获得 CPU 利用率

Shell (ssh) 到 Azure AKS (Kubernetes) 群集工作节点

错误:在 Azure Kubernetes 服务 (AKS) 中轮换证书

无法从连接到 Azure *** 的本地计算机(在家庭网络上)访问专用 AKS 群集