首页 > 解决方案 > Azure Kubernetes 集群 - 从本地访问服务并与之交互

问题描述

目前我们有以下场景:

我们已经建立了从本地到 Azure Kubernetes 集群(私有集群!)的连接(网络方式),没有任何问题。

正在路由和允许的端口

TCP 80
TCP 443

到目前为止,我们处于开发环境中并测试不同的配置。

为了设置我们的 AKS,我们需要设置虚拟网络(通过 CNI)和服务 CIDR。我们设置了以下配置(只是一个例子)

Virtual Network: 10.2.0.0 /21
Service CIDR: 10.2.8.0 /23

因此,我们的 pod 拥有来自我们的虚拟网络子网的 IP,服务从 Service CIDR 获得它们的 IP。到目前为止,一切都很好。虚拟网络的路由表(子网已与路由表关联)正在将所有流量转发到我们的防火墙,反之亦然:与虚拟网络的交互正常工作。网络团队(也是 Azure 云的新手)表示,对 Service CIDR 的连接和访问应该可以正常工作。

遗憾的是,我们无法访问服务 CIDR。

例如,假设我们要通过https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/建立 kubernetes 仪表板(web ui) 。运行 YAML 代码后,kubernetes 仪表板 pod 和服务已成功创建。可以 ping 和“访问”该 pod,但无法访问可以通过端口 443 访问 kubernetes 仪表板的服务。例如https://10.2.8.42/. 到目前为止,我的解决方法是 kubernetes 仪表板(作为服务,类型:ClusterIP)设置了来自虚拟网络的外部 IP。这听起来很棒,但我不是很喜欢它,因为我必须与虚拟网络而不是服务 CIDR 交互。这真的是正确的方法吗?任何提示如何使服务 CIDR 可访问?我错过了什么?

任何帮助,将不胜感激。

标签: azurekuberneteskubernetes-service

解决方案


推荐阅读