Kubernetes 1.22未默认设置1核CPU限制问题咨询(Containerd环境)
问题解答
核心结论
Kubernetes的默认容器资源限制(CPU/内存上限)和容器运行时(Docker/Containerd)无关,它由集群中的LimitRange资源对象控制,而非运行时类型。
关键解释
- 你课程中提到的“默认1核CPU、512Mi内存限制”,本质是该课程使用的集群预先配置了针对命名空间的LimitRange,和用Docker作为运行时没有直接关联。
- 如果你的集群(不管是Docker还是Containerd运行时)没有配置LimitRange,那么未指定
resources.limits的容器就不会有默认资源上限,这正是你当前看到的情况(CPU Limits和Memory Limits都为0)。
验证与配置方法
检查当前命名空间是否存在LimitRange
执行命令查看目标命名空间的LimitRange资源:kubectl get limitrange -n only-test如果返回
No resources found,说明该命名空间没有配置默认资源限制。创建默认资源限制(可选)
若需要给only-test命名空间设置默认容器资源限制,可以创建如下LimitRange对象:apiVersion: v1 kind: LimitRange metadata: name: default-resource-limits namespace: only-test spec: limits: - default: cpu: "1" memory: "512Mi" defaultRequest: cpu: "100m" memory: "128Mi" type: Container创建后,新创建的未指定
resources.limits的容器会自动应用上述默认限制。
内容的提问来源于stack exchange,提问作者Maksim
相关产品推荐
相关产品推荐

