【问题标题】:Is it possible to use Azure API Management and Azure ACS (kubernetes) as frontend and backend?是否可以使用 Azure API 管理和 Azure ACS (kubernetes) 作为前端和后端?
【发布时间】:2017-03-19 13:48:04
【问题描述】:

我想在 Azure 上创建一个简单的架构。我的高层设计和下图很像(来源:https://www.import.io/post/using-amazon-lambda-and-api-gateway/

我确实想通过 Azure API 管理访问内部服务。我在 Microfos 文档页面上看到的是,没有提到这个简单而安全的架构作为参考:

https://docs.microsoft.com/en-us/azure/container-service/container-service-kubernetes-walkthrough

我有以下问题:

  1. 如果至少有一个 NIC 使用同一网络,则无法将 API 管理分配给虚拟网络(为什么?)
  2. 即使使用对等虚拟网络,我也无法访问 10.244.X.0/24 网络(pod 的网络),因为 k8s 虚拟网络只拥有 10.240.0.0/16。如何访问集群 ips (10.0.0.0/16) 和 pod ips (10.244.0.0/16)?

【问题讨论】:

    标签: azure networking azure-api-management azure-container-service


    【解决方案1】:

    嗯,您不需要额外的 VNET,而只需要额外的子网。该子网可能位于您现有的 VNET 中。子网大小可以是Azure支持的最小/29

    API 管理的额外子网要求来自这样一个事实,即它是基于 PAAS V1(经典)技术构建的。虽然我们可以部署到资源管理器 VNET(V2 层)中,但这样做会产生后果。 Azure 中的经典部署模型与资源管理器模型不紧密耦合,因此如果您在 V2 中创建资源,V1 不知道它,并且可能会发生问题,例如 API 管理尝试使用已分配的 IP到 NIC(基于 V2)。

    要详细了解 Azure 中经典和资源管理器模型的区别,请参阅博客 difference between Classic and ResourceManager models

    【讨论】:

      【解决方案2】:

      答案基本上是YES,虽然设置并不简单。

      你需要:

      • 一个额外的 VNet 用于 API 管理(编辑:一个额外的子网就足够了)
      • 一个服务(kubernetes 术语)

      步骤:

      1. 对等 Kubernetes VNet 和您创建的额外 VNet(测试)
      2. API 管理 -> 虚拟网络:更改为 外部
      3. 选择 Virtual Network 一个额外的 VNet(我们称之为 'apimgmntvnet')和一个 子网
      4. 保存!喝啤酒,因为我花了 1 小时!
      5. 同时在内部公开您的部署: kubectl expose deployment app --port=<serviceport> --name=app --target-port=<containerport> --type=NodePortNodePort 很重要!LoadBalancer 类型触发 kubernetes 为 Kubernetes 安装动态配置 Azure 外部 LB)
      6. 检查 kubernetes (kubectl proxy) BUI 上的节点 IP:PORT
      7. API 管理 -> Publisher 门户:将您的 API 修改为 IP 地址 (AgentIP:30361)

      理论上它应该可以工作。建议从 apimgmntvnet 中的 VM 开始,并首先尝试从 VM 对等,然后将其删除(API 管理不能是至少存在一个 NIC 的 VNet 的一部分(?!)) .

      【讨论】:

      • 只是想告诉读者它是这样工作的。但是指向一个代理的ip是否正确?当然可以,但是如果你有两个代理怎么办。那你要指向哪里呢?
      • @mimo 有一个很好的观点。它有效,但您只使用 ONE 代理的 pod。
      • 您可以使用内部负载均衡器,而不是使用 NodePort:kubernetes.io/docs/concepts/services-networking/service/…
      猜你喜欢
      • 1970-01-01
      • 2019-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-19
      • 2020-03-11
      • 2021-05-30
      • 1970-01-01
      相关资源
      最近更新 更多