是否支持在 AKS 高级网络子网上使用 NSG,节点和主节点之间需要打开哪些端口?

Is using NSG on AKS advanced networking subnet supported and what are the ports needed to be open between nodes and master?

当节点位于使用高级网络的子网中时,需要在节点和 azure kubernetes 服务的主节点之间打开 TCP/UDP 通信的哪个端口?

出于安全原因,我们必须在通过 Azure 中的 VPN 连接到本地网络的每个子网上使用网络安全组。这个 NSG 必须拒绝机器之间的所有隐式流量,即使是在同一子网中,以阻止攻击在系统之间穿越。 因此,对于具有高级网络的 azure kubernetes 服务来说也是一样的,它使用通过 vnet 对等互连连接的子网。

如果在 aks 高级网络的子网上安装 NSG 是否受支持,以及需要哪些端口才能使其工作,我们无法找到答案。

我们尝试了我们的默认 NSG,它拒绝主机之间的内部流量,但这阻碍了我们连接到服务和节点以无错误地出现。

AKS 是托管群集。而managed cluster master意味着你不需要像高可用etcd store那样去配置组件,但是也意味着你不能直接访问cluster master .

创建 AKS 群集时,会自动创建和配置群集主机。并且 Azure 平台配置集群主机和节点之间的安全通信。与集群主机的交互通过 Kubernetes API 发生,例如 kubectl 或 Kubernetes 仪表板。

有关详细信息,请参阅 Kubernetes core concepts for Azure Kubernetes Service (AKS). If you need to configure the cluster master and other things all by yourself, you can deploy your own Kubernetes cluster using aks-engine

为了您的 pods 的安全,您可以使用 network policy 来改善它。虽然只是预览版。

此外,如果要连接到 AKS 节点,不建议公开远程连接到 AKS 群集节点。建议在管理虚拟网络中创建堡垒主机或跳转箱。使用堡垒主机将流量安全地路由到 AKS 群集以执行远程管理任务。有关详细信息,请参阅 Securely connect to nodes through a bastion host

如果您还有其他问题,请告诉我。我很乐意提供更多帮助。