第 3 章 专用网络 peering
Microsoft Azure 上的 Ansible Automation Platform 部署到带有自己的 Azure 虚拟网络(VNet)的独立受管资源组中。
最初部署时,Microsoft Azure 上的 Ansible Automation Platform 只能通过公共互联网向外部网络发送请求。
要在 Microsoft Azure 上启用 Ansible Automation Platform,以访问互联网部署中的资源,当资源通过私有网络时,您必须在您的私有虚拟网络和 Microsoft Azure 的受管应用程序 VNet 上配置 Azure 网络。
您可以配置 Azure VNets 以启用多个 Azure VNets 之间的私有通信,以及 Azure VNets 和外部 VPN 路由网络之间的私有传输路由。这些 VPN 网络可以位于内部或者其它云中。
没有两个 Azure 网络配置是相同的。要在 Microsoft Azure 上启用对 Ansible Automation Platform 的用户访问,请将您的部署连接到 VNets 和外部 VPN 路由网络。
配置网络对等功能需要由您所在机构中的对网络 peering 非常熟悉的 Azure 管理员进行。在您的 Azure 帐户中对网络配置进行改变可能会导致停机或其他中断。
红帽不支持在本文档中介绍的网络 peering 步骤,因为进程和服务由 Microsoft Azure 控制和管理。联系 Microsoft 以获得对等 Azure 网络方面的帮助。
我们会尽力使这里的内容与 Microsoft 文档保持一致,但随着时间的推移,可能还有一些不同。Microsoft 的文档是有关 Azure 网络主题的确定性来源。
Azure 提供各种对等专用网络的方法。它们通常分为两类:
- Hub-and-spoke peering: 在这个拓扑中,有一个集中的 hub VNet 供其他虚拟网络使用。这个 hub 网络具有通过传输路由路由流量的机制。云网络,包括 VPN/Express Connect 与内部和其他云网络的连接,可以通过 hub VNet 进行通信。
- Azure Virtual WAN(VWAN): Azure Virtual WAN 是一个网络服务,它在 Azure、内部部署和其他 VPN/Direct Connect 网络中提供简化的 hub 和spoke 网络。有关 VWAN 的更多信息,请参阅微软的 虚拟 WAN 文档。
- 直接对等(Direct peering) :专用网络分别连接到另一个网络,且它们之间没有路由跃点。这是一个简单的对等点模型:当您只想连接几个网络时,这很有用。
请参阅 Microsoft 应用程序架构基本指南中的在虚拟网络对等和 VPN 网关之间进行选择,以确定您的机构的正确对等方法。
3.1. hub-and-spoke peering(Transit 路由)
错误地更新路由表可能会破坏您的网络。仅当您确信可以撤销任何意外的网络行为时,才执行这些步骤。
3.1.1. hub-and-spoke peering 过程概述
先决条件
- 您已在 Microsoft Azure 上部署了 Ansible Automation Platform。
- 您已在 Azure 租户中配置了并测试了 Azure VNet hub-and-spoke 实现。这个先决条件需要配置很多 Azure 资源,包括虚拟网络网关。
- 您已在 spoke 网络间配置了传输路由,包括 VPN。具体步骤请参考在 Microsoft Azure 文档中为虚拟网络对等配置 VPN 网关传输。
您已找出以下内容:
- 现有 VNet 的 CIDR 块(包括 VPN 和直接连接)需要访问 Microsoft Azure UI 上的 Ansible Automation Platform。
- 现有 VNet 的 CIDR 块(包括 VPN 和直接连接),它包含 Ansible 自动化的主机或端点。
- Microsoft Azure VNet 上的 Ansible Automation Platform 的 CIDR 块来自应用程序的受管资源组。具体步骤请参阅查找受管资源组的 CIDR 块。
在对等任何网络前,请确保您的私有 VNet 和 Microsoft Azure 网络上的 Ansible Automation Platform 之间没有网络地址空间重叠。
流程
- 在 Microsoft Azure 受管应用程序 Kubernetes 集群上找到 Ansible Automation Platform 的 CIDR 块。请参阅查找受管应用程序 Kubernetes 集群的 CIDR 块。
- 使用 Ansible Automation Platform 子网配置网络 Peering。请参阅使用 Ansible Automation Platform 子网配置网络对等。
更新路由表:
- 配置现有网络的路由表,将流量发送到受管应用程序 CIDR。您必须将路由添加到请求 Ansible Automation Platform 用户界面的每个网络的路由表中,以及将对其资源执行自动化的每个网络。请参阅路由到 Microsoft Azure 上的 Ansible Automation Platform。
- 针对您想与 Ansible Automation Platform 通信的每个 spoke 网络配置 VNet 的路由,以用于自动化或访问用户界面。请参阅到 VNets 的路由。
3.1.1.1. 查找受管资源组的 CIDR 块
- 进入 Azure 门户中的 Resource Groups 页面。
- 在 Microsoft Azure 上点 Red Hat Ansible Automation Platform 的受管资源组。资源组名称前缀为 "-mrg"。
选择资源组中的 VNet 在 Overview 页面中查看其设置。
集群的 CIDR 块显示在 Address Space 中。
如需更多信息,请参阅 Microsoft Azure 虚拟网络指南中的查看虚拟网络和设置。
3.1.1.2. 使用 Ansible Automation Platform 子网配置网络对等(peer)
在 Azure 控制台中,Azure 虚拟网络(VNet)被称为 这个虚拟网络,而您想要与 对等的 VNet 称为 远程虚拟网络。
在 Azure 门户的 Virtual Networks 页面中,使用以下设置来配置 Azure VNet 和您要与 Microsoft Azure 应用程序上的 Ansible Automation Platform 对等的 VNet:
在此虚拟网络 下,选择 Microsoft Azure 虚拟网络上的 Ansible Automation Platform 的设置:
- Peering link name: <hub_to_aap_peering_link_name>
- Traffic to remote virtual network: Allow
- Traffic forwarded from remove virtual network: Allow
- 虚拟网络网关或 Route 服务器 : 使用此网络的网关或 Route 服务器
在 Remote virtual network 下,选择您要与 Azure 对等的虚拟网络的设置:
- 对等链接名称: <aap_to_hub_peering_link_name>
- 到远程虚拟网络的流量: Allow
- 从远程虚拟网络转发的流量 : Allow
- 虚拟网络网关或 Route 服务器 : 使用远程虚拟网络的网关或 Route 服务器
有关配置 peering 的更多信息,请参阅 Microsoft Azure 虚拟 网络指南中的创建对等点。
3.1.1.3. 更新路由表
在更新路由表前,请确定您满足 hub-and-spoke peering 进程 的先决条件。
Microsoft Azure 上的 Ansible Automation Platform 路由
- 进入 Azure 门户中的 Route Tables。
- 作为 hub-and-spoke 配置的一部分,您可以创建一个或多个路由表来定义网络间的路由。点其中一个路由表。
- 在路由表菜单栏中,进入到 Routes → Add。
- 在路由表菜单栏中,选择 Routes → Add。
配置现有网络的路由,以将流量发送到 Ansible Automation Platform。您必须为任何请求 Ansible Automation Platform 用户界面以及针对其资源执行自动化的网络配置路由。对于您添加的每个路由,请输入以下信息:
- 路由名称 :输入 Ansible Automation Platform 受管应用程序网络的路由名称
- 地址前缀: 受管应用程序 kubernetes 集群的 CIDR 块
- Next Hop Type: 虚拟网络网关
- 点 OK,将新路由保存到路由列表。
对于您要将流量路由到 Ansible Automation Platform 的所有其他路由表,请重复此步骤。
到 VNet 的路由
为每个 spoke 网络添加路由,以与 Ansible Automation Platform 通信、用于自动化或访问用户界面。
- 进入 Azure 门户中的 Route Tables。
在路由表列表中,选择 Microsoft Azure 受管集群上的 Ansible Automation Platform 的路由表。
Ansible Automation Platform 路由表的名称使用以下惯例:
aks-agentpool-<numbers>-routetable
- 在路由表菜单栏中,进入到 Routes → Add。
- 针对您想与 Ansible Automation Platform 通信的每个 spoke 网络配置 VNet 的路由,以用于自动化或访问用户界面。
对于您添加的每个路由,请输入以下信息:
- 路由名称:输入您希望 Ansible Automation Platform 路由的 spoke 网络的路由名称
- 地址前缀: spoke 网络的 CIDR 块
- Next Hop Type: 虚拟网络网关
- 点 OK,将新路由保存到路由列表。
配置路由规则后,通过 hub 网络将流量路由到和从 Azure 上的 Ansible Automation Platform 路由。
通过虚拟设备出站路由
如果您的组织使用 Azure 防火墙服务或第三方防火墙设备,则必须从托管应用程序配置出站连接,以便红帽维护应用程序并针对外部资源启用自动化。
最简单的方法是创建一个防火墙规则,该规则允许来自端口 443 的出站流量。
如果选择不允许所有来自端口 443 的出站流量,您必须配置路由。
对于红帽在 Microsoft Azure 上管理和升级 Ansible Automation Platform,必须允许 Azure Kubernetes 服务 (AKS) 集群中的所有机器都可以提交请求,以拉取 Ansible Automation Platform 使用的容器的更新。在 Ansible Automation Platform 路由表中为从 Microsoft Azure 受管应用程序上 Ansible Automation Platform 的完整 CIDR 范围内的出站流量添加路由到以下域:
-
registry.redhat.io -
quay.io
-
- 您还必须允许来自防火墙的流量到您希望 Ansible Automation Platform 对运行自动化作业的任何其他外部域或 IP 地址。否则,您的防火墙将阻止 Ansible Automation Platform 和自动化目的地之间的连接。
3.1.1.3.1. 其他资源
有关在 Azure 中向路由表添加路由的更多信息,请参阅 Microsoft Azure 虚拟网络指南中的创建路由。