Corrigido! Eu acho que também fiz uma boa correção, pelo que posso dizer. Eu sou novo em Salt, mas sinto que tenho uma compreensão decente sobre isso agora. É muito mais simples e menos intimidante do que eu pensava, uma ferramenta realmente legal. Enfim, para a correção:
O Kubernetes provê o mestre e os minions com sal. Os arquivos de configuração do Salt estão localizados em /srv/salt
. Depois de olhar para o arquivo top.sls
, encontrei a pasta kubelet
(precisamos mudar as bandeiras passadas para o kubelet). Percorrendo essa pasta, encontramos o arquivo init.sls
, apontando para o arquivo kubelet.service
que está usando o salt://kubelet/default
para a configuração. Perfeito, esse é apenas o arquivo /srv/salt/kubelet/default
. Que nojo. Muitos mega condicionais, mas tudo se resume à última linha DAEMON_ARGS=...
Se quisermos fazer isso da maneira correta, modifique a última linha para adicionar outra variável:
{% 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}}"
(observe nossa nova variável max_pods)
Este arquivo de configuração tem acesso aos nossos arquivos principais, os arquivos "config" de sal. Eles estão localizados ao lado das configurações de salt em /srv/pillar
. Depois de verificar todas essas configurações são passadas para todos os hosts, podemos modificar um. Achei que se encaixava melhor em cluster-params.sls
:
kubelet_max_pods: '80'
Eu matei meus nós antigos e agora nossos nós têm um máximo de 80 pods por host em vez do padrão.