Quero aumentar a cota nf_conntrack_max nos meus nós do Amazon Elastic Kubernetes Service (Amazon EKS).
Resolução
Verifique o valor atual de nf_conntrack_max
Conclua as etapas a seguir:
- Use o SSH ou o Gerenciador de sessões, um recurso do AWS Systems Manager, para se conectar ao seu nó de processamento.
- Execute o comando a seguir para obter o valor atual de nf_conntrack_max:
cat /proc/sys/net/netfilter/nf_conntrack_max
Modifique o kube-proxy ConfigMap
Conclua as etapas a seguir:
-
Execute o comando a seguir para editar kube-proxy-config ConfigMap:
kubectl edit configmap kube-proxy-config -n kube-system
-
Em conntrack, aumente o valor mínimo:
conntrack:
maxPerCore: 32768
min: 131072
Observação: substitua os valores de exemplo pelos seus valores. Calcule o valor nf_conntrack_max como max(min, maxPerCore * number_of_CPU_cores). Por exemplo, você define min como 131072 e maxPerCore como 32768 em um nó com 2 núcleos de CPU. O valor de nf_conntrack_max se torna 131072 porque 131072 é maior que 32768 multiplicado por 2.
-
Salve suas alterações e feche o editor.
Reinicie o DaemonSet kube-proxy
Depois de modificar o ConfigMap, execute o seguinte comando para reiniciar o DaemonSet kube-proxy e aplicar as alterações:
kubectl rollout restart daemonset kube-proxy -n kube-system
Verifique se o valor de nf_conntrack_max foi atualizado
Importante: quando você aumenta nf_conntrack_max, o uso da memória do nó aumenta. Cada entrada de rastreamento de conexão usa aproximadamente 300 bytes de memória. Certifique-se de alocar memória suficiente.
Conclua as etapas a seguir:
- Use o SSH ou o Gerenciador de sessões para se conectar ao seu nó de processamento.
- Execute o comando a seguir para confirmar se o valor de nf_conntrack_max foi atualizado:
cat /proc/sys/net/netfilter/nf_conntrack_max
Informações relacionadas
Atualizar o complemento autogerenciado kube-proxy do Kubernetes
Gerenciar os complementos de redes para os clusters do Amazon EKS
kube-proxy no site do Kubernetes
Gerenciador de sessões do AWS Systems Manager