Назад | Перейти на главную страницу

Kubernetes на AWS EC2 - измените --max-pods в группе масштабирования

Мы запускаем контейнеры в Kubernetes на Amazon AWS. Этот кластер был создан с помощью набора скриптов kube-up. Все было правильно подготовлено и работает нормально. Однако мы столкнулись с загвоздкой - на наших довольно больших серверах c4.xlarges разрешено запускать только 40 модулей. Для нас это небольшое количество, так как у нас много маленьких подов, некоторые из которых используются редко. Есть ли способ увеличить это ограничение с помощью мастера соли или конфигурации запуска? Как лучше всего это сделать?

Спасибо.

Починил это! Думаю, я тоже неплохо поправился, насколько я могу судить. Я новичок в Salt, но чувствую, что сейчас довольно хорошо разбираюсь в ней. Это намного проще и менее пугающе, чем я думал, действительно изящный инструмент. Во всяком случае, к исправлению:

Kubernetes снабжает хозяина и миньонов солью. Файлы конфигурации Salt расположены по адресу /srv/salt. Посмотрев на top.sls файл, я нашел kubelet папку (нам нужно изменить переданные кубелету флаги). Просматривая эту папку, мы находим init.sls файл, указывая на kubelet.service файл, который использует salt://kubelet/default для конфига. Отлично, это просто /srv/salt/kubelet/default файл. Фу. Множество мега-условий, но все сводится к последней строчке DAEMON_ARGS=... Если мы хотим сделать это правильно, измените последнюю строку, чтобы добавить еще одну переменную:

{% set max_pods =  "--max-pods=" + pillar.get('kubelet_max_pods', '40') %}

DAEMON_ARGS="{{daemon_args}} {{api_servers_with_port}} {{debugging_handlers}} {{hostname_override}} {{cloud_provider}} {{config}} {{manifest_url}} --allow_privileged={{pillar['allow_privileged']}} {{pillar['log_level']}} {{cluster_dns}} {{cluster_domain}} {{docker_root}} {{kubelet_root}} {{configure_cbr0}} {{cgroup_root}} {{system_container}} {{pod_cidr}} {{max_pods}}"

(Обратите внимание на нашу новую переменную max_pods)

Этот файл конфигурации имеет доступ к нашим файлам столба, "конфигурационным" файлам соли. Они расположены рядом с конфигами соли в /srv/pillar. Убедившись, что все эти конфигурации переданы на все хосты, мы можем изменить один. Я думал, что это лучше всего подходит cluster-params.sls:

kubelet_max_pods: '80'

Я отключил свои старые узлы, и теперь наши узлы имеют максимум 80 модулей на хост вместо стандартного.