Сети AKS Edge Essentials
В этой статье описывается настройка сети между ОС узла Windows и виртуальными машинами Linux и узлов Windows. Дополнительные сведения об архитектуре AKS Edge Essentials см. в обзоре AKS Edge Essentials.
Совет
В следующем руководстве описаны различные понятия и конфигурации сети, доступные в AKS Edge Essentials. При использовании одного кластера компьютеров механизм установщика и развертывания обрабатывает всю необходимую сетевую конфигурацию. Для развертывания кластера не требуется дополнительных шагов или конфигурации.
Сеть
В этом руководстве предполагается, что у вас есть контроль над сетью и маршрутизатором (то есть в домашнем параметре). Если вы находитесь в корпоративной среде, рекомендуется попросить администратора сети указать диапазон бесплатных IP-адресов (из той же подсети), доступных в Интернете.
Чтобы установить канал связи между ос узла Windows и виртуальными машинами Linux и Windows, мы используем сетевой стек Hyper-V. Дополнительные сведения о сети Hyper-V см. в разделе "Основы сети Hyper-V".
Следующие ключевые понятия сети для AKS Edge Essentials соответствуют понятиям Kubernetes:
- Виртуальный коммутатор: компонент Hyper-V, позволяющий виртуальным машинам, созданным на узлах Hyper-V, взаимодействовать с другими компьютерами. Дополнительные сведения см. в статье "Создание и настройка виртуального коммутатора с помощью Hyper-V". AKS Edge Essentials поддерживает два типа виртуальных коммутаторов:
- Внутренний: подключается к сети, которая может использоваться только виртуальными машинами, работающими на ос узла Windows с виртуальным коммутатором, а также между ос узла и виртуальными машинами.
- Внешний: подключается к проводной, физической сети путем привязки к физическому сетевому адаптеру. Он предоставляет виртуальным машинам доступ к физической сети для взаимодействия с устройствами во внешней сети. Кроме того, она позволяет виртуальным машинам на одном сервере Hyper-V взаимодействовать друг с другом.
- IP-адрес конечной точки уровня управления: плоскость управления Kubernetes доступен из этого IP-адреса. Необходимо предоставить один IP-адрес, который является бесплатным в течение всего времени существования кластера для плоскости управления Kubernetes.
- Диапазон IP-адресов службы: диапазон IP-адресов службы — это пул зарезервированных IP-адресов, используемых для выделения IP-адресов службам Kubernetes (вашим службам и рабочим нагрузкам Kubernetes), для доступных приложений.
- IP-адрес виртуальной машины: в AKS Edge Essentials узлы Kubernetes развертываются как специализированные виртуальные машины, для которых требуются IP-адреса. Для этих виртуальных машин необходимо назначить бесплатные IP-адреса.
Сеть по типу развертывания
Если AKS Edge Essentials развертывается с помощью одного кластера компьютера или масштабируемого кластера, мы поддерживаем различные типы коммутаторов, назначение IP-адресов и конфигурации, как показано в следующей таблице.
Один кластер компьютеров | Масштабируемый кластер | |
---|---|---|
Тип виртуального коммутатора | Внутренние | Внешние |
Создание виртуального коммутатора | Автоматически | Вручную пользователем или автоматически на основе имени физического сетевого адаптера. |
Назначение IP-адресов | Автоматическое — определенные адреса | Статические IP-адреса, настроенные пользователем. |
Исходящие подключения | Использование виртуального коммутатора | Непосредственно с помощью физического сетевого адаптера. |
Входящие подключения | Недоступно | Использование IP-адреса виртуальной машины. |
DNS | Настраиваемая с помощью DnsServers параметра ( если она не указана, используйте DNS-серверы узла Windows. |
Настраиваемая настройка с помощью DnsServers параметра( если она не указана, используйте DNS-серверы windows. |
Proxy | Настраиваемая с помощью http_proxy https_proxy параметров и no_proxy параметров. |
Настраиваемая настройка с помощью http_proxy и https_proxy no_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. Программа установки также обрабатывает назначение IP-адресов и преобразование адресов для сетевых адаптеров. Например, IP-адреса виртуальных сетевых адаптеров можно определить следующим образом:
- ОС узла Windows: 192.168.0.1
- Виртуальная машина узла Linux: 192.168.0.2
- Виртуальная машина узла Windows: 192.168.0.3
- Начало IP-адресов службы: 192.168.0.4
Семейство адресов 192.168.0.0/24 может изменяться в зависимости от внутреннего виртуального коммутатора. Однако узлы и ос узла всегда будут иметь одинаковый суффикс: ос узла (.1), виртуальная машина Linux (.2), виртуальная машина Windows (.3) и запуск ServiceIP (.4).
Наконец, с помощью преобразования адресов трафик может достичь внешней сети с помощью физического сетевого адаптера. На предыдущей схеме показана внешняя сеть с помощью семейства IP-адресов 10.0.0/24 , но это зависит от сетевой среды, в которой установлено устройство.
Масштабируемый кластер
В масштабируемых развертываниях кластера узлы, работающие на разных устройствах, должны взаимодействовать друг с другом. Поэтому все узлы должны быть подключены к одной сети. Для обеспечения связи между узлами на разных устройствах масштабируемые развертывания кластера AKS Edge Essentials используют внешние виртуальные коммутаторы. На следующей схеме показана архитектура развертывания с несколькими машинами с помощью внешнего виртуального коммутатора:
Чтобы запустить это развертывание, необходимо указать следующие сетевые параметры во время развертывания:
- AdapterName: имя физического адаптера, подключенного к внешней сети. Вы можете запустить команду PowerShell
Get-NetAdapter -Physical
, чтобы просмотретьName
столбец для выбранного адаптера. - Ip4Address: укажите IP-адрес, который принимает виртуальная машина. Каждому узлу нужен собственный уникальный IP-адрес.
После завершения развертывания все узлы и ОС узла Windows будут подключены к внешней сети с помощью одного внешнего виртуального коммутатора. Так как узлы подключены непосредственно к сети, нет необходимости в переводе адресов. На предыдущей схеме показана сетевая архитектура с использованием семейства IP-адресов 192.168.0/24 . Однако это зависит от сетевой среды, в которой установлены устройства.
Дополнительные сведения о масштабируемой конфигурации кластера см. в разделе "Полные развертывания Kubernetes" в AKS Edge Essentials и масштабирование на нескольких компьютерах.
Другие понятия сети
DNS
Система доменных имен (DNS) преобразует имена доменов, доступные для чтения пользователем (например, www.microsoft.com
) на ip-адреса, доступные для чтения компьютера (например, 192.0.2.44
). Виртуальная машина AKS Edge Essentials Linux использует системные (системные и диспетчеры служб), поэтому службы разрешения DNS или имен предоставляются локальным приложениям и службам через систему разрешенную службу. Узел Windows использует службу DNS сети Windows по умолчанию.
По умолчанию во время развертывания AKS Edge Essentials можно указать список DNS-серверов с помощью DnsServers
параметра. Если адрес не указан, механизм развертывания ищет DNS-серверы ОС Windows (проверьте использование ipconfing /all
) и использует эти адреса сервера.
Можно проверить DNS-серверы, используемые как для узлов Linux, так и для Windows. Для этого с помощью сеанса PowerShell с повышенными привилегиями выполните следующий командлет:
Для узлов виртуальной машины Linux:
Invoke-AksEdgeNodeCommand -NodeType Linux -command "resolvectl status"
В выходных данных команды отображается список DNS-серверов, настроенных для каждого интерфейса виртуальной машины Linux. В частности, важно проверить состояние интерфейса eth0 , который является интерфейсом по умолчанию для связи виртуальной машины AKS EE. Кроме того, проверьте IP-адреса текущего DNS-сервера и DNS-серверов списка. Если IP-адрес отсутствует или IP-адрес не является допустимым IP-адресом DNS-сервера, служба DNS не будет работать.
Для узлов виртуальной машины Windows:
Invoke-AksEdgeNodeCommand -NodeType Windows -command "ipconfig /all"
В выходных данных команды отображается список настроенных сетевых интерфейсов виртуальной машины Windows. В частности, важно проверить состояние интерфейса адаптера Ethernet vEthernet (Ethernet), который является интерфейсом по умолчанию для связи виртуальной машины AKS Edge Essentials. Кроме того, проверьте IP-адреса поля DNS-серверов списка. Если IP-адрес отсутствует или IP-адрес не является допустимым IP-адресом DNS-сервера, служба DNS не будет работать.
Proxy (Прокси)
Прокси-сервер — это выделенное программное обеспечение, которое выступает в качестве шлюза между клиентом и Интернетом. Он обрабатывает сетевые запросы в качестве посредника: при подключении к прокси-серверу компьютер отправляет запросы на сервер, а не непосредственно получателю. AKS Edge Essentials поддерживает настройку прокси-серверов для виртуальных машин Linux и Windows.
По умолчанию во время развертывания AKS Edge Essentials можно указать конфигурацию прокси-сервера с помощью Proxy.Http
Proxy.Https
параметров и Proxy.No
параметров. Если параметры отсутствуют, механизм развертывания настраивает no_proxy
флаг с необходимыми внутренними сетями Kubernetes.
Для узлов виртуальной машины Linux:
Invoke-AksEdgeNodeCommand -NodeType Linux -command 'env | grep proxy'
Для узлов виртуальной машины Windows:
Invoke-AksEdgeNodeCommand -NodeType Windows -command 'netsh winhttps show proxy'
Статический MAC-адрес
Hyper-V позволяет создавать виртуальные машины со статическим или динамическим MAC-адресом. Во время создания виртуальной машины AKS Edge Essentials можно указать MAC-адрес виртуальной машины с помощью MacAddress
параметра. Если значение не задано, MAC-адрес создается случайным образом и сохраняется локально, чтобы сохранить один и тот же адрес на виртуальных машинах или перезагрузки узла Windows. Чтобы запросить MAC-адрес виртуальной машины AKS Edge Essentials, можно использовать следующую команду:
Для узлов виртуальной машины Linux:
Get-AksEdgeNodeAddr -NodeType Linux
Для узлов виртуальной машины Windows:
Get-AksEdgeNodeAddr -NodeType Windows