我正在使用 Azure Kubernetes 服务 (AKS),我需要仅用于 TCP 连接的服务。我根本不需要 HTTP,我认为强调这一点很重要。为了访问我们的服务,在 AKS 集群外部,但只能从不同的虚拟网络 VM(而不是来自公共互联网)访问,Azure 管理员的结论是我应该:
我阅读了很多关于 Kubernetes services 、类型、连接和 Ingress 的内容,我想总结一下我需要回答的困境和困惑 - 为什么我必须实施这种方法而不是一些更简单的网络架构入口? (因为我没有使用 HTTP)
问题 1: 为什么我不能只使用 NodeIP:NodePort 来使用来自不同 Azure 虚拟网络的 TCP 访问我的服务???当然需要配置防火墙规则,但是为什么这种方式不行,还得安装Ingress Controller?
问题 2: 是否真的不存在一些其他方法来使用 LoadBalancer 从不同的虚拟网络访问服务但不公开在 Internet 上公开?它真的必须包含需要创建的带有入口控制器的更复杂的网络架构吗?我必须再次强调只针对 TCP 而不是 HTTP 连接用例
问题 3: 可用于从不同虚拟网络进行连接的常用和常规网络服务和设置是什么?再次 - 仅适用于 TCP 连接,如果重要的话,我会更广泛地寻找 Azure。
我将感谢对所有 3 个问题的完整解释,因为在 kubernetes.io 文档中没有明确提到这种用例 - 他们总是提到 Ingress 资源用于 HTTP,但明确地基于我从管理员那里得到的说明TCP问题也是如此
谢谢