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 云的新手)表示,服务 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 可访问?我错过了什么?

任何帮助将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...