Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье приводятся рекомендации по планированию IP-адресов для кластеров Служба Azure Kubernetes (AKS).
Инструкции по планированию IP-адресов для отдельных параметров CNI см. в следующем разделе, посвященном ссылкам на документацию по подключаемым модулям.
Размер подсети
Подсеть виртуальной сети Azure должна быть достаточно большой, чтобы разместить кластер, который зависит от того, используете ли вы наложенную сеть или плоскую сеть.
Наложение сетей
При использовании наложенных сетей, таких как Azure CNI Overlay, ваша подсеть должна быть достаточно большой, чтобы назначать IP-адреса вашим узлам. Подам назначаются IP-адреса из отдельного, частного диапазона CIDR и они не требуют IP-адресов виртуальной сети. Подсеть виртуальной сети, которую вы используете для кластера, может быть меньше, чем с плоскими сетями.
Важно обеспечить выделение достаточного пространства в частном диапазоне CIDR для ваших модулей pod для учета масштабирования. При планировании размеров диапазона IP-адресов необходимо вычислить максимальное количество модулей pod. Каждому узлу в кластере назначена подсеть /24 (256 IP-адресов) для модулей pod. Необходимо запланировать подсеть наложенной сети, чтобы учесть максимальное количество узлов, которые вы ожидаете запустить.
Неструктурированные сети
Плоские сети, такие как подсеть Azure CNI Pod, требуют достаточно большой подсети для размещения как узлов, так и подов. Так как узлы и модули pod получают IP-адреса из виртуальной сети, необходимо спланировать максимальное количество узлов и модулей pod, которые требуется запустить. ** Подсеть Pod Azure CNI использует подсеть для узлов и отдельную подсеть для Pod, поэтому необходимо спланировать обе подсети.
Размер IP-адреса
Рекомендации по обновлению и масштабированию
При планировании IP-адресов для кластера AKS следует учитывать количество IP-адресов, необходимых для операций обновления и масштабирования. Если диапазон IP-адресов настроен только для поддержки фиксированного количества узлов, вы не сможете обновить или масштабировать кластер.
При обновлении кластера AKS новый узел развертывается в кластере. Службы и рабочие нагрузки теперь выполняются на новом узле, а старый узел удаляется из кластера. Для выполнения этого процесса последовательного обновления требуется, чтобы был доступен как минимум один дополнительный блок IP-адресов. Затем ваше количество узлов — n + 1
, где n
— это количество узлов в вашем кластере.
При масштабировании кластера AKS новый узел развертывается в кластере. Службы и рабочие нагрузки теперь выполняются на новом узле. Диапазон IP-адресов должен учитывать, как вы планируете увеличить количество узлов и подов, которые может поддерживать ваш кластер. Кроме того, следует включить как минимум один дополнительный узел для операций обновления или количество узлов, заданных параметром Настройка масштабного обновления узлов. Количество узлов будет равно n + number-of-additional-scaled-nodes-you-anticipate + max surge
.
Если вы используете подсеть Pod Azure CNI и ожидаете, что ваши узлы будут запускать максимальное количество подов и вы регулярно уничтожаете и развертываете поды, следует также учитывать дополнительные IP-адреса на каждый узел. Может потребоваться несколько секунд задержки для удаления службы и освобождения её IP-адреса, прежде чем новая служба будет развернута и получит этот адрес. Дополнительные IP-адреса учитывают эту возможность.
План IP-адреса для кластера AKS включает в себя виртуальную сеть, как минимум одну подсеть для узлов и pod, а также диапазон адресов сервисов Kubernetes.
Ресурс Azure | Диапазон адресов | Ограничения и размер |
---|---|---|
Виртуальная сеть Azure | Максимальный размер: 1/8. 65 536 предельное количество настроенных IP-адресов. См. Выделение статических блоков подсетей для Pod Azure CNI для исключения | Перекрывающиеся адресные пространства в сети могут вызвать проблемы. |
Подсеть | Должно быть достаточно большим, чтобы разместить узлы, Pods и все ресурсы Kubernetes и Azure в вашем кластере. Например, при развертывании внутренней подсистемы балансировки нагрузки Azure внешние IP-адреса выделяются из подсети кластера, а не общедоступных IP-адресов. | Размер подсети также должен учитывать операции обновления и будущие потребности масштабирования.
Используйте следующее уравнение, чтобы вычислить минимальный размер подсети, включая дополнительный узел для операций обновления: пример для кластера с 50 узлами: (/21 или более крупный
если при создании кластера не указано максимальное количество модулей pod на узел, Максимальное количество модулей pod на узел равно 30. Минимальное количество IP-адресов, необходимых, определяется на основе этого значения. Если вы вычисляете минимальные требования к IP-адресам по другому максимальному значению, см. раздел "Максимальное количество подов на узел", чтобы задать это значение при развертывании кластера. |
Диапазон адресов службы Kubernetes | Любой сетевой элемент в этой виртуальной сети не должен использовать этот диапазон. | CIDR адреса службы должен быть меньше /12. Этот диапазон можно повторно использовать в разных кластерах AKS. |
IP-адрес службы DNS Kubernetes | IP-адрес в диапазоне адресов службы Kubernetes, используемый обнаружением службы кластера. | Не используйте первый IP-адрес своего диапазона адресов. Первый адрес в диапазоне подсети используется для адреса kubernetes.default.svc.cluster.local. |
Максимальное число подов на узле
Максимальное число pod на узел в кластере AKS — 250. Максимальное количество контейнеров pod по умолчанию для каждого узла зависит от сети kubenet, Azure CNI и метода развертывания кластера.
CNI | Максимальное количество подов по умолчанию | Настройка при развертывании |
---|---|---|
Наложение Azure CNI | 250 | Да (до 250) |
Подсеть Pod Azure CNI | 110 | Да (до 250) |
Azure CNI (устаревшая версия) | 30 | Да (до 250) |
Kubenet | 110 | Да (до 250) |
Настройка максимального количества подов на каждого узла для кластеров
Можно настроить максимальное количество pod на узел как во время развертывания кластера, так и при добавлении новых пулов узлов. Можно установить максимальное количество подов на узел до 250.
Минимальное значение максимального числа модулей pod на узел применяется, чтобы обеспечить необходимое пространство для системных модулей pod, критически важных для работоспособности кластера. Минимальное значение максимального числа модулей pod на узел равно 10, но только если в конфигурации каждого пула узлов имеется место для не менее 30 модулей pod. Например, установка максимального количества pod на узел в размере 10 требует, чтобы каждый отдельный пул узлов имел не менее трех узлов. Это требование также применяется к каждому новому пулу узлов, поэтому если 10 определено как максимальное количество подов на узел, каждый добавленный пул узлов должен иметь не менее трех узлов.
Сеть | Минимум | Максимум |
---|---|---|
Azure CNI | 10 | 250 |
Kubenet | 10 | 250 |
Примечание.
Минимальное значение в предыдущей таблице строго применяется службой AKS. Нельзя задать значение maxPods, которое меньше минимального значения, так как это позволяет предотвратить запуск кластера.
Новые кластеры
Можно задать максимальное количество pod на узел при создании нового кластера с помощью одного из следующих методов:
-
Azure CLI: укажите аргумент
--max-pods
при развертывании кластера с помощью командыaz aks create
. -
Шаблон Azure Resource Manager: укажите
maxPods
свойство в объекте [ManagedClusterAgentPoolProfile] при развертывании кластера с помощью шаблона Azure Resource Manager. -
Портал Azure. Изменение
Max pods per node
поля в параметрах пула узлов при создании кластера или добавлении нового пула узлов.
Существующие кластеры
Вы можете задать максимальное количество подов на узел при создании нового пула узлов. Если необходимо увеличить параметр maxPods в существующем кластере, добавьте новый пул узлов с новым требуемым числом maxPods . После переноса подов в новый пул удалите старый пул.
Следующие шаги
Azure Kubernetes Service