Kubernetes no AWS EC2 - Modificar --max-pods no grupo de dimensionamento

1

Estamos executando contêineres no Kubernetes no Amazon AWS. Este cluster foi criado através do conjunto de scripts do kube-up. Tudo foi provisionado corretamente e funcionando bem. No entanto, nos deparamos com um problema - nossos servidores razoavelmente grandes, c4.xlarges, só podem rodar 40 pods. Este é um pequeno número para nós, pois estamos executando muitos pequenos pods, alguns raramente usados. Existe uma maneira de aumentar esse limite a partir do mestre de sal ou da configuração de ativação? Qual é o melhor caminho para fazer isso?

Obrigado.

    
por four43 04.01.2016 / 19:51

1 resposta

0

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.

    
por 11.01.2016 / 21:06