AWS EC2 上的 Kubernetes - 修改扩展组中的 --max-pods

AWS EC2 上的 Kubernetes - 修改扩展组中的 --max-pods

我们在 Amazon AWS 上的 Kubernetes 上运行容器。此集群是通过 kube-up 脚本集创建的。一切都已正确配置并运行良好。然而,我们遇到了一个问题 - 我们的大型服务器 c4.xlarges 仅允许运行 40 个 pod。这对我们来说是一个很小的数字,因为我们正在运行许多小型 pod,其中一些很少使用。有没有办法从 salt master 或启动配置中提高此限制?实现此目的的最佳途径是什么?

谢谢。

答案1

修复了!就我所知,我认为我也做了一个很好的修复。我是 Salt 的新手,但现在感觉我已经掌握了相当多的内容。它比我想象的要简单得多,也不那么吓人,真的是一个很棒的工具。无论如何,开始修复:

Kubernetes 使用 salt 来配置 master 和 minions。Salt 的配置文件位于/srv/salt。查看文件后top.sls,我找到了kubelet文件夹(我们需要更改传递给 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)

此配置文件可以访问我们的支柱文件,即 salt 的“配置”文件。它们位于 中的 salt 配置旁边 /srv/pillar。验证所有这些配置都已传递到所有主机后,我们可以修改一个。我认为它最适合cluster-params.sls

kubelet_max_pods: '80'

我杀死了旧节点,现在我们的节点每个主机最多有 80 个 pod,而不是默认的。

相关内容