【问题标题】:Kubernetes internal only ingressKubernetes 内部唯一入口
【发布时间】:2019-09-19 15:01:21
【问题描述】:

我正在 Azure 环境 (AKS) 中尝试 Kubernetes。

我部署了一个 nginx 入口,并通过一个公共 ip 和一个天蓝色的负载均衡器暴露在互联网上。用于暴露公共/前台服务。

我的问题是我想部署“后备”服务,而不是暴露在互联网上。我的第一个猜测是部署第二个入口并将其暴露在内部负载均衡器上,对吗?

但是,如果我的前端服务需要消耗后端服务,我可以在第二个入口(使用 nginx 配置、ssl 卸载等)上消耗它,但不往返于内部负载均衡器。在这种情况下,DNS 配置是什么?

【问题讨论】:

  • 前后端服务是否在同一个 AKS 集群上?
  • 为什么要入口?为什么不能只使用 Kubernetes 服务?
  • @4c74356b41 服务不允许您混合路径来为指向 Ingress 等单独服务的不同应用程序提供服务
  • 你为什么需要它?每个服务都可以有自己的端点

标签: azure kubernetes dns kubernetes-ingress azure-aks


【解决方案1】:

入口控制器用于外部流量。对于集群内通信,最好使用Kubernetes Services,它将在集群内配置 DNS。使用 Service,您无需往返外部资源即可调用后端服务,负载均衡将在 k8s 集群内本地完成。没有什么能阻止您部署 nginx pod 或将其作为 sidecar 注入后端服务 pod 并将其用作反向代理,但您真的使用 nginx 配置和相互 TLS 进行集群内通信吗?如果你真的需要双向 TLS,你最好看一下Istio 之类的东西,但这对于你的用例来说可能是多余的。

【讨论】:

    【解决方案2】:

    您不需要部署辅助入口服务。您需要做的就是将您的服务端点 [IP] 设为私有,并且它们应该只能与您的入口服务通信。

    那么你如何创建私有IP:https://docs.microsoft.com/en-us/azure/aks/ingress-internal-ip

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-30
      相关资源
      最近更新 更多