你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn 。
Azure Kubernetes 服务 (AKS) 中应用程序的网络概念
本文内容
Kubernetes 网络基础知识
Azure 虚拟网络
控制出站(出口)流量
网络安全组
网络策略
后续步骤
显示另外 2 个
在基于容器的微服务应用程序开发方法中,应用程序组件会协同工作以处理其任务。 Kubernetes 提供了各种资源来促成这种合作:
可以在内部或外部连接应用程序并将其公开。
可以对应用程序进行负载均衡,从而生成高可用性应用程序。
可以限制网络流量流入 Pod 和节点或在其间流动以提高安全性。
对于更复杂的应用程序,可以配置 SSL/TLS 终止的入口流量或多个组件的路由。
本文介绍了为 AKS 中的应用程序提供网络的核心概念:
Kubernetes 使用虚拟网络层来管理应用程序或其组件之内和之间的访问:
有关特定的 Kubernetes 功能:
负载均衡器 :可以使用负载均衡器跨各种资源均匀分配网络流量。
入口控制器 :它们辅助第 7 层路由,这对于定向应用程序流量至关重要。
出口流量控制 :Kubernetes 让你可以管理和控制来自群集节点的出站流量。
网络策略 :这些策略实现了安全措施,以及对 Pod 中的网络流量的筛选。
在 Azure 平台的上下文中:
Azure 简化了 AKS(Azure Kubernetes 服务)群集的虚拟网络。
在 Azure 上创建 Kubernetes 负载均衡器时,会同时设置相应的 Azure 负载均衡器资源。
打开对 Pod 的网络端口时,Azure 会自动配置必要的网络安全组规则。
建立新的入口路由时,Azure 还会管理 HTTP 应用程序路由的外部 DNS 配置。
在 AKS 中,可以部署使用以下网络模型之一的群集:
覆盖网络模型 :覆盖网络是 Kubernetes 中使用的最常见网络模型。 Pod 是从专用的逻辑上将 CIDR 与部署 AKS 节点的 Azure 虚拟网络子网相分离的 IP 地址。 与平面网络模型相比,此模型可实现更简单、改进的可伸缩性。
平面网络模型 :AKS 中的平面网络模型将 IP 地址从与 AKS 节点相同的 Azure 虚拟网络中的子网分配给 Pod。 离开群集的任何流量都不是 SNAT,Pod IP 地址直接公开到目标。 此模型对于向外部服务公开 Pod IP 地址等方案非常有用。
有关 AKS 中的网络模型的详细信息,请参阅 AKS 中的CNI 网络 。
AKS 群集部署在虚拟网络上,并且对该虚拟网络之外的服务具有出站依赖关系,这些服务几乎完全通过完全限定的域名 (FQDN) 定义。 AKS 提供多个出站配置选项,这些选项允许你自定义访问这些外部资源的方式。
有关受支持的 AKS 群集出站配置类型的详细信息,请参阅在 Azure Kubernetes 服务 (AKS) 中使用出站类型自定义群集出口 。
默认情况下,AKS 群集提供不受限制的出站(出口)Internet 访问,允许运行的节点和服务根据需要访问外部资源。 如果需要,可以限制出站流量。
若要详细了解如何限制群集出站流量,请参阅控制 AKS 中群集节点的出口流量 。
网络安全组筛选 VM(例如 AKS 节点)的流量。 创建服务(如 LoadBalancer)时,Azure 平台会自动配置任何必需的网络安全组规则。
无需手动配置网络安全组规则,以筛选 AKS 群集中 Pod 的流量。 你可以定义任何所需端口并将其作为 Kubernetes 服务清单的一部分进行转发,让 Azure 平台创建或更新相应的规则。
还可以使用网络策略自动向 Pod 应用流量筛选器规则。
有关详细信息,请参阅网络安全组如何筛选网络流量 。
默认情况下,AKS 群集中的所有 Pod 都可以无限制地发送和接收流量。 为了提高安全性,可定义用来控制流量流的规则,如:
后端应用程序只公开给所需的前端服务。
数据库组件只能由与其连接的应用程序层访问。
网络策略是 AKS 中提供的一项 Kubernetes 功能,允许你控制 Pod 之间的流量流。 你可以基于分配的标签、命名空间或流量端口等设置来允许或拒绝到 Pod 的流量。 虽然网络安全组更适用于 AKS 节点,不过网络策略是一种更适合于的云原生方式,可控制 pod 的流量流。 因为 Pod 是在 AKS 群集中动态创建的,则可以动态应用所需的网络策略。
有关详细信息,请参阅在 Azure Kubernetes 服务 (AKS) 中使用网络策略保护 Pod 之间的流量 。
若要开始使用 AKS 网络,请使用 Azure CNI 叠加网络 或 Azure CNI 创建和配置具有自己的 IP 地址范围的 AKS 群集。
如需相关的最佳做法,请参阅 AKS 中的网络连接和安全性的最佳做法 。
有关核心 Kubernetes 和 AKS 概念的详细信息,请参阅以下文章: