我们在Amazon AWS上的Kubernetes上运行容器。 这个集群是通过一套kube-up脚本创build的。 一切准备正确,工作正常。 然而,我们碰到了一个障碍 – 我们相当大的服务器c4.xlarges只能运行40个豆荚。 这对我们来说是一个小数目,因为我们正在运行许多小的豆荚,一些很less使用。 有没有办法提高盐主或启动configuration这个限制? 这样做的最佳途径是什么?
谢谢。
修复! 我想我也做了一个很好的修复, 我是Salt的新手,但觉得我现在对这个有相当好的把握。 这比我想象的要简单得多,也不那么吓人,这是一个非常好的工具。 无论如何,到修复:
Kubernetes用盐给主人和奴才。 Salt的configuration文件位于/srv/salt 。 查看top.sls文件后,我find了kubelet文件夹(我们需要更改传递给kubelet的标志)。 init.sls该文件夹,我们findinit.sls文件,指向正在使用salt://kubelet/default作为configuration的kubelet.service文件。 完美,那只是/srv/salt/kubelet/default文件。 呸。 很多巨大的条件,但这一切都归结为最后一行DAEMON_ARGS=...如果我们想要这样做正确的方法,修改最后一行添加另一个variables:
{% 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}}"
(注意我们的新variablesmax_pods)
这个configuration文件可以访问我们的支柱文件,盐的“configuration”文件。 这些位于/srv/pillar的盐configuration旁边。 在validation所有这些configuration传递给所有主机后,我们可以修改一个。 我认为最适合cluster-params.sls :
kubelet_max_pods: '80'
我杀了我的旧节点,现在我们的节点每个主机最多有80个豆荚,而不是默认的。