azure-aks - 是否支持在 AKS 高级网络子网上使用 NSG,节点和主节点之间需要打开哪些端口?
问题描述
当节点位于使用高级网络的子网中时,需要在节点和 azure kubernetes 服务的主服务器之间打开 TCP/UDP 通信的哪个端口?
出于安全原因,我们必须在通过 Azure 中的 VPN 连接到本地网络的每个子网上使用网络安全组。即使在同一子网中,该 NSG 也必须拒绝机器之间的所有隐式流量,以阻止攻击在系统之间遍历。因此,具有高级网络的 azure kubernetes 服务也是如此,它使用通过 vnet 对等连接的子网。
如果在 aks 高级网络的子网上拥有 NSG 以及使其工作需要哪些端口是受支持的方案,我们找不到答案。
我们尝试了默认的 NSG,它拒绝主机之间的内部流量,但这阻碍了我们连接到服务和节点以无错误地启动。
解决方案
AKS 是托管群集。而托管集群master意味着你不需要像高可用etcd
商店那样配置组件,但这也意味着你不能直接访问集群master。
创建 AKS 群集时,会自动创建和配置群集主机。Azure 平台配置集群主节点和节点之间的安全通信。与集群主节点的交互通过 Kubernetes API 进行,例如 kubectl 或 Kubernetes 仪表板。
有关更多详细信息,请参阅Azure Kubernetes 服务 (AKS) 的 Kubernetes 核心概念。如果您需要自己配置集群 master 和其他东西,您可以使用aks-engine部署自己的 Kubernetes 集群。
为了您的 Pod 的安全,您可以使用网络策略来改进它。虽然只是预览版。
此外,如果要连接到 AKS 节点,不建议公开与 AKS 群集节点的远程连接。建议是在管理虚拟网络中创建堡垒主机或跳转框。使用堡垒主机将流量安全地路由到 AKS 群集以执行远程管理任务。有关更多详细信息,请参阅通过堡垒主机安全连接到节点。
如果您有更多问题,请告诉我。我很高兴能提供更多帮助。
推荐阅读
- sql-server - 如何连接在 Docker 容器内运行的 MSSQL 服务器?
- python - Dash 根据用户的图形选择输出多个图形
- php - 更新 PHP oauth1.0 到 oauth2.0
- sql - 在 SQL 声明语句中使用部分字符串
- css - 引导程序:溢出-y 不适用于 flex-grow-1
- python - Python:日期差异(日期列与可变日期)
- angular - 无法使用 MatMenuHarness 对材质菜单进行单元测试
- asp.net-mvc - .net 5 mvc 中每个客户端的特定 .resx 文件
- xml - Azure DevOps Pipeline 中 XML 文件的 XSLT 转换
- android - 9 补丁 PNG 阴影未在设备上正确渲染