Как настроить привязку ЦП к Pod в Kubernetes?

Как настроить привязку ЦП к Pod в Kubernetes?

Я хочу установить соответствие ЦП для Pod в Kubernetes. Но мне не удалось установить и я столкнулся с трудностями при поиске соответствующих документов.

Что я понимаю:

  • По сути, диспетчер ЦП k8s рассматривает все ядра ЦП в узле как общий пул и использует их для запуска модулей, развернутых в узле.
  • Если установить поле CPU-manager-policy в kubelet на «static», можно задать привязку CPU к Pod, задав запрос/лимит CPU как целое число в файле .yaml.

Что я сделал:

  1. Чтобы изменить поле CPU-manager-policy на статическое, я попытался изменить конфигурацию kubelet следующим образом:Связь
  2. Однако поле CPU-manager-policy не изменилось и по-прежнему равно «none».
  3. Итак, я изменил поле «cpuManagerPolicy» в /var/lib/kubelet/config.yaml.
  4. Затем я выполнил команду «sudo systemctl restart kubelet».
  5. Статус узла изменился на «NotReady», и все модули перешли в состояние ожидания.

Среда, которую я использую:

  • версия k8s: v1.13.2
  • CNI: Калико
  • ОС: Ubuntu 16.04
  • Количество узлов: 2 (1 главный, 1 рабочий)
  • Приложение: пример приложения istio с именемbookinfo

Заранее спасибо!

решение1

Я решил эту проблему. Вам нужно добавить поле 'kubeReserved' в файл config.yaml. Кроме того, вам нужно удалить файл /var/lib/kubelet/cpu_manager_state. Затем перезапустите kubelet, выполнив 'systemctl restart kubelet'.

Связанный контент