我正在使用具有1个主节点和2个具有4个核心cpu和256mb ram的worker的kubernetes集群。我想知道kubelet需要多少cpu和ram。
有什么方法可以设置kubelet的限制(cpu,内存)吗?我搜索了文档,但只发现了工作节点需求。
答案 0 :(得分:1)
我认为您应该了解kubelet
的功能。可以在kubelet documentation中找到。
kubelet是在每个节点上运行的主要“节点代理”。它可以使用以下之一向apiserver注册该节点:用于覆盖主机名的标志;或云提供商的特定逻辑。
kubelet根据PodSpec起作用。 PodSpec是一个描述Pod的YAML或JSON对象。 kubelet接受通过各种机制(主要是通过apiserver)提供的一组PodSpec,并确保这些PodSpec中描述的容器正在运行且运行状况良好。 Kubelet不管理不是Kubernetes创建的容器。
除了可以从apiserver的PodSpec中获取容器清单之外,还可以通过三种方式将容器清单提供给Kubelet。
文件:在命令行中作为标志传递的路径。将定期监视此路径下的文件是否有更新。默认情况下,监视时间为20秒,可以通过标志进行配置。
HTTP端点:在命令行上作为参数传递的HTTP端点。每20秒检查一次此端点(也可以使用标志进行配置)。
HTTP服务器:kubelet还可以侦听HTTP并响应简单的API(当前未经过规范)以提交新的清单。
您可以在kubelet中使用多个标志,但大多数都是已弃用,并且应通过Kubelet的--config标志指定的配置文件设置参数。这在Set Kubelet parameters via a config file上有解释。
您可能感兴趣的标志是:
--application-metrics-count-limit int
(每个容器)要存储的最大应用程序指标数量(默认为100)(不建议使用)
--cpu-cfs-quota
为指定CPU限制的容器启用CPU CFS配额强制(默认为true)(不建议使用)
--event-qps int32
如果> 0,则将每秒创建的事件数限制为该值。如果为0,则为无限。 (默认5)(不推荐使用)
--event-storage-age-limit string
存储事件的最大时间长度(每种类型)。值是键值的逗号分隔列表,其中键是事件类型(例如:creation,oom)或“默认”,值是持续时间。默认应用于所有未指定的事件类型(默认为“ default = 0”)(不建议使用)
--event-storage-event-limit string
要存储的最大事件数(每种类型)。值是键值的逗号分隔列表,其中键是事件类型(例如:creation,oom)或“默认”,值是整数。默认应用于所有未指定的事件类型(默认为“ default = 0”)(不建议使用)
--log-file-max-size uint
定义日志文件可以增长到的最大大小。单位为兆字节。如果值为0,则最大文件大小为无限制。 (默认为1800)
--pods-per-core int32
可以在此Kubelet上运行的每个内核的Pod数。此Kubelet上的Pod总数不能超过max-pods,因此如果此计算导致Kubelet上允许的Pod数量更多,则将使用max-pods。值为0将禁用此限制。 (已弃用)
--registry-qps int32
如果> 0,则限制注册表将QPS拉到该值。如果为0,则为无限。 (默认5)(不推荐使用)