AKS Edge Essentials 网络

本文介绍如何在 Windows 主机 OS 与 Linux 和 Windows 节点的虚拟机之间配置网络。 有关 AKS Edge Essentials 体系结构的详细信息,请参阅 AKS Edge Essentials 概述

提示

以下指南介绍了 AKS Edge Essentials 中提供的不同网络概念和配置。 如果使用单台计算机群集,安装程序和部署机制将处理所有必要的网络配置。 无需执行额外的步骤或配置即可部署群集。

网络

本指南假定你已控制网络和路由器(即家庭设置)。 如果位于企业环境中,建议向网络管理员询问可在 Internet 上访问的一系列免费 IP 地址(来自同一子网)。

为了在 Windows 主机 OS 与 Linux 和 Windows 虚拟机之间建立信道,我们使用 Hyper-V 网络堆栈。 有关 Hyper-V 网络的详细信息,请参阅 Hyper-V 网络基础知识

AKS Edge Essentials 的以下关键网络概念与 Kubernetes 概念保持一致:

  • 虚拟交换机:Hyper-V 组件,允许在 Hyper-V 主机上创建的虚拟机与其他计算机通信。 有关详细信息,请参阅 使用 Hyper-V 创建和配置虚拟交换机。 AKS Edge Essentials 支持两种类型的虚拟交换机:
    • 内部:连接到一个网络,该网络只能由具有虚拟交换机的 Windows 主机 OS 上运行的虚拟机以及主机 OS 与虚拟机之间使用。
    • 外部:通过绑定到物理网络适配器连接到有线物理网络。 它允许虚拟机访问物理网络,以便与外部网络上的设备通信。 此外,它还使同一 Hyper-V 服务器上的虚拟机能够相互通信。
  • 控制平面终结点 IP 地址:可从此 IP 地址访问 Kubernetes 控制平面。 必须提供在 Kubernetes 控制平面群集的整个生存期内免费的单一 IP。
  • 服务 IP 地址范围:服务 IP 范围是用于将 IP 地址分配给 Kubernetes 服务(Kubernetes 服务/工作负载)的保留 IP 地址池,可供应用程序访问。
  • 虚拟机 IP 地址:在 AKS Edge Essentials 中,Kubernetes 节点部署为需要 IP 地址的专用虚拟机。 必须将免费 IP 分配给这些 VM。

按部署类型进行网络

如果使用单个计算机群集或可缩放群集部署 AKS Edge Essentials,则支持不同类型的交换机、IP 地址分配和配置,如下表所示。

单台计算机群集 可缩放群集
虚拟交换机的类型 内部 外部
虚拟交换机创建 自动 由用户手动或基于物理网络适配器名称自动执行。
IP 地址分配 自动 – 定义的地址 用户配置的静态 IP 地址。
出站连接 使用虚拟交换机 直接使用物理 Net 适配器。
入站连接 无法连接 使用虚拟机 IP 地址。
DNS 使用 DnsServers 参数进行配置 - 如果未提供,请使用 Windows 主机 DNS 服务器。 可以使用 DnsServers 参数进行配置 - 如果未提供,请使用 Windows 主机 DNS 服务器。
代理 可以使用http_proxyhttps_proxy参数和no_proxy参数进行配置。 可以使用http_proxyhttps_proxyno_proxy参数进行配置。
脱机部署 支持使用 InternetDisabled 参数。 支持使用 InternetDisabled 参数。
服务 IP 范围 如果定义了参数 ServiceIPRangeSize ,则从 192.168.0.4 开始。 ServiceIPRangeStart可以定义和ServiceIPRangeSize参数。
静态 MAC 地址 支持使用 MacAddress 参数。 支持使用 MacAddress 参数。
最大传输单元(MTU) 支持使用 MTU 参数。 支持使用 MTU 参数。

重要

Kubernetes pod cidr 适用于 10.42.0.0/16 K3s 和 10.244.0.0/24 K8s。 Kubernetes service cidr 适用于 10.43.0.0/16 K3s 和 10.96.0.0/12 K8s。

单台计算机群集

单台计算机部署使用内部虚拟交换机来管理网络。 这种类型的部署必须具有 Linux 节点;Windows 节点是可选的。 下图显示了使用内部虚拟交换机的单台计算机部署体系结构:

显示使用内部虚拟交换机的网络体系结构的关系图。

在单台计算机部署期间,AKS Edge Essentials 会创建一个名为 aksedgesw-int 的内部虚拟交换机,以及用于连接虚拟机和 Windows 主机 OS 的相应虚拟网络适配器。 安装程序还处理 NIC 的 IP 地址分配和地址转换。 例如,虚拟 NIC 的 IP 地址可以定义如下:

  • Windows 主机 OS:192.168.0。1
  • Linux 节点虚拟机:192.168.0。2
  • Windows 节点虚拟机:192.168.0。3
  • 服务 IP 地址启动:192.168.0。4

192.168.0.0/24 地址系列可能会根据内部虚拟交换机而更改;但是,节点和主机 OS 将始终具有相同的后缀:主机 OS(.1)、Linux VM(.2)、Windows VM(.3)和 ServiceIP start (.4)。

最后,通过使用地址转换,流量可以使用物理网络适配器到达外部网络。 上图显示了使用 10.0.0.0/24 IP 地址系列的外部网络,但这取决于安装设备的网络环境。

可缩放群集

在可缩放的群集部署中,在不同设备内运行的节点必须相互通信。 因此,所有节点都必须连接到同一网络。 为了实现跨设备的节点到节点通信,AKS Edge Essentials 可缩放群集部署使用外部虚拟交换机。 下图显示了使用外部虚拟交换机的多计算机部署体系结构:

显示使用外部虚拟交换机的网络体系结构的关系图。

若要启动这种类型的部署,必须在部署期间提供以下网络参数:

  • AdapterName:连接到外部网络的物理适配器的名称。 可以运行 PowerShell Get-NetAdapter -Physical 命令以查看 Name 所选适配器的列。
  • Ip4Address:指定 VM 采用的 IP 地址。 每个节点都需要自己的唯一 IP 地址。

部署完成后,所有节点和 Windows 主机 OS 都将使用相同的外部虚拟交换机连接到外部网络。 由于节点直接连接到网络,因此无需进行地址转换。 上图显示了使用 192.168.0.0/24 IP 地址系列的网络体系结构;但是,这取决于安装设备的网络环境。

有关可缩放群集配置的详细信息,请参阅 AKS Edge Essentials 中的完整 Kubernetes 部署,并在 多台计算机上横向扩展。

其他网络概念

DNS

域名系统(DNS)将人工可读域名(例如www.microsoft.com)转换为计算机可读 IP 地址(例如)。 192.0.2.44 AKS Edge Essentials Linux 虚拟机使用 系统 (系统和服务管理器),因此 DNS 或名称解析服务通过 系统解析 的服务提供给本地应用程序和服务。 Windows 节点使用默认的 Windows 网络 DNS 服务。

默认情况下,在 AKS Edge Essentials 部署期间,可以使用参数提供 DNS 服务器列表 DnsServers 。 如果未提供地址,部署机制将查找 Windows 主机 OS DNS 服务器(检查使用 ipconfing /all),并使用这些服务器地址。

可以检查用于 Linux 和 Windows 节点的 DNS 服务器。 为此,请使用提升的 PowerShell 会话运行以下 cmdlet:

  • 对于 Linux VM 节点:

    Invoke-AksEdgeNodeCommand -NodeType Linux -command "resolvectl status"
    

    命令输出显示为每个 Linux VM 接口配置的 DNS 服务器列表。 具体而言,请务必检查 eth0 接口状态,这是 AKS EE VM 通信的默认接口。 此外,请确保检查列表的“当前 DNS 服务器”和“DNS 服务器”字段的 IP 地址 如果没有 IP 地址,或者 IP 地址不是有效的 DNS 服务器 IP 地址,则 DNS 服务将无法正常工作。

  • 对于 Windows VM 节点:

    Invoke-AksEdgeNodeCommand -NodeType Windows -command "ipconfig /all"
    

    命令输出显示配置的 Windows VM 网络接口的列表。 具体而言,请务必检查 以太网适配器 vEthernet (以太网) 接口状态,这是 AKS Edge Essentials VM 通信的默认接口。 此外,请确保检查列表的 DNS 服务器 字段的 IP 地址。 如果没有 IP 地址,或者 IP 地址不是有效的 DNS 服务器 IP 地址,则 DNS 服务将无法正常工作。

代理

代理服务器是充当客户端和 Internet 之间的网关的专用软件。 它将网络请求作为中介进行处理:连接到代理服务器时,计算机将请求发送到服务器,而不是直接发送到收件人。 AKS Edge Essentials 支持为 Linux 和 Windows 虚拟机设置代理服务器。

默认情况下,在 AKS Edge Essentials 部署期间,可以使用代理Proxy.Https配置和Proxy.No参数提供代理配置Proxy.Http。 如果未提供任何参数,则部署机制会使用必要的 Kubernetes 内部网络设置 no_proxy 标志。

  • 对于 Linux VM 节点:

    Invoke-AksEdgeNodeCommand -NodeType Linux -command 'env | grep proxy'
    
  • 对于 Windows VM 节点:

    Invoke-AksEdgeNodeCommand -NodeType Windows -command 'netsh winhttps show proxy'
    

静态 MAC 地址

Hyper-V 允许使用静态或动态 MAC 地址创建虚拟机。 在 AKS Edge Essentials 虚拟机创建过程中,可以使用参数提供 VM MAC 地址 MacAddress 。 如果未提供任何值,则会随机生成 MAC 地址并将其存储在本地,以便跨虚拟机或 Windows 主机重新启动保留相同的地址。 若要查询 AKS Edge Essentials 虚拟机 MAC 地址,可以使用以下命令:

  • 对于 Linux VM 节点:

    Get-AksEdgeNodeAddr -NodeType Linux
    
  • 对于 Windows VM 节点:

    Get-AksEdgeNodeAddr -NodeType Windows
    

后续步骤