Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье представлен обзор того, как настраивать конфигурацию ресурсов для управляемых компонентов Службы Azure Kubernetes (AKS) с оптимизированным масштабированием компонентов по затратам (предварительная версия).
Обзор
Включение функции масштабирования оптимизированных для затрат надстроек в кластере AKS устанавливает надстройку Вертикального автомасштабирования Pod (VPA) и пользовательские ресурсы VPA для управляемых надстроек AKS, поддерживающих эту возможность. Эта функция также позволяет вручную настраивать запросы ресурсов ЦП и памяти, а также ограничения в настройках развертывания и DaemonSets. Кроме того, можно настроить максимальный и минимальный допустимый ЦП и память и режим обновления VPA в пользовательских ресурсах VPA.
Предпосылки
- Просмотрите поддерживаемые менеджерные надстройки AKS и ограничения для этой возможности.
- Вам нужен кластер AKS с включенной функцией масштабирования, оптимизированной по стоимости. Если у вас его нет, см. статью "Включить масштабирование дополнений с оптимизацией затрат" в кластере AKS (предварительный просмотр).
Настройка аннотаций ресурсов
| Аннотация | Описание | Ценности |
|---|---|---|
kubernetes.azure.com/override-requests-limits |
Поддерживается возможность настройки запросов и ограничений для ресурсов CPU/памяти контейнера в Deployment или DaemonSet, если значение "включено". Установите значение в "disabled", чтобы восстановить значения AKS по умолчанию. | "Включено" или "отключено" |
kubernetes.azure.com/override-min-max |
Поддерживает возможность настройки политики контейнера максимального или минимально допустимого значения ЦП/памяти в настраиваемом ресурсе VPA, если значение "включено". Установите значение в "disabled", чтобы восстановить значения AKS по умолчанию. | "Включено" или "отключено" |
kubernetes.azure.com/override-update-mode |
Поддерживает возможность настройки значения политики updateMode обновления в пользовательском ресурсе VPA, если значение "включено". Установите значение в "disabled", чтобы восстановить значения AKS по умолчанию. |
"Включено" или "отключено" |
Настройка запросов и ограничений ресурсов ЦП/памяти
После установки аннотации kubernetes.azure.com/override-requests-limits в значение "включено" в развертывание или DaemonSet, можно настроить запросы и ограничения по использованию ресурсов ЦПУ/памяти. В следующем примере показано, как настроить запросы на ЦП и память ресурсов в развертывании:
apiVersion: apps/v1
kind: Deployment
metadata:
name: coredns
namespace: kube-system
annotations:
# update value from "disabled" to "enabled"
kubernetes.azure.com/override-requests-limits: "enabled"
spec:
...
containers:
- name: coredns
resources:
limits:
# update cpu limits value won't be reconciled back
cpu: "3"
# update memory limits value won't be reconciled back
memory: "500Mi"
requests:
# update cpu requests value won't be reconciled back
cpu: "100m"
# update memory requests value won't be reconciled back
memory: "70Mi"
Настройте максимальные и минимальные пределы ЦП и памяти.
После установки аннотации kubernetes.azure.com/override-min-max в пользовательском ресурсе VPA на состояние "включено" вы можете настроить максимальные и минимальные допустимые значения процессора и памяти в пользовательском ресурсе VPA. В следующем примере показано, как настроить максимальные и минимальные допустимые значения ЦП и памяти в пользовательском ресурсе VPA:
apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
name: coredns
namespace: kube-system
annotations:
# update value from "disabled" to "enabled"
kubernetes.azure.com/override-min-max: "enabled"
spec:
resourcePolicy:
containerPolicies:
- containerName: coredns
maxAllowed:
# update maxAllowed cpu value won't be reconciled back
cpu: 3
# update maxAllowed memory value won't be reconciled back
memory: 500Mi
minAllowed:
# update minAllowed cpu value won't be reconciled back
cpu: 10m
# update minAllowed memory value won't be reconciled back
memory: 10Mi
...
Настройка режима обновления ресурсов
После установки аннотации kubernetes.azure.com/override-update-mode значение "Включено" в пользовательском ресурсе VPA, можно настроить значение политики обновления updateMode в пользовательском ресурсе VPA на "Выкл." или "Начальное" (по умолчанию). В следующем примере показано, как настроить политику обновления, задав значение updateMode на "Initial" в пользовательском ресурсе VPA.
apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
name: coredns
namespace: kube-system
annotations:
# update value from "disabled" to "enabled"
kubernetes.azure.com/override-update-mode: "enabled"
spec:
...
updatePolicy:
# update updateMode won't be reconciled back
updateMode: "Initial"
Отключите VPA для определенной управляемой надстройки AKS.
Чтобы отключить VPA в определенной управляемой надстройке AKS, необходимо обновить файл YAML пользовательского ресурса VPA, чтобы задать kubernetes.azure.com/override-update-mode аннотацию "enabled" и updateMode значение "Off". В режиме Off VPA предоставляет только рекомендации по ЦП и памяти и не изменяет pod.
В следующем примере показано, как отключить VPA в надстройке CoreDNS:
apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
name: coredns
namespace: kube-system
annotations:
# Set value to "enabled"
kubernetes.azure.com/override-update-mode: "enabled"
spec:
...
updatePolicy:
# Set value to "Off"
updateMode: "Off"
Устранение неполадок
- Убедитесь в поддержке управляемой надстройкой AKS функции масштабирования надстроек, оптимизированной по затратам. Дополнительные сведения см. в статье Поддерживаемые управляемые надстройки AKS.
- Убедитесь, что аннотация
kubernetes.azure.com/override-requests-limitsв развертывании или DaemonSet имеет значение "включено". - Убедитесь, что заметка
kubernetes.azure.com/override-min-maxв пользовательском ресурсе VPA имеет значение "Включено". - Убедитесь, что заметка
kubernetes.azure.com/override-update-modeв пользовательском ресурсе VPA имеет значение "Включено".
Дальнейшие шаги
Дополнительные сведения о настройке использования ресурсов кластера и освобождении ЦП и памяти для управляемых надстроек AKS см. в статье Автомасштабирование вертикальных модулей pod в AKS.