首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么库伯内特斯不为一个吊舱设置一个CPU限制?

为什么库伯内特斯不为一个吊舱设置一个CPU限制?
EN

Stack Overflow用户
提问于 2022-07-19 03:47:57
回答 1查看 277关注 0票数 0

我的版本Kubernetes是1.22

我正在修库伯内特斯的CKAD课程。

在“资源和限制”一节中,它说:

现在让我们看看在Docker世界中的节点上运行的容器。

Docker容器对它可以在节点上使用的资源没有限制。

假设容器从节点上的一个CPU开始。

它可以上升并消耗所需的资源,以窒息节点上的本机进程或其他资源容器。

但是,默认情况下,可以为这些部分的资源使用设置限制。

Kubernetes将一个CPU的限制设置为容器,因此如果没有显式指定,容器将被限制为只从节点消耗一个CPU。

记忆也是如此。

默认情况下,Kubernetes对容器设置512 Mi的限制。

如果不喜欢默认限制,可以通过在文件中的“资源”部分下添加“限制”部分来更改它们。

在创建pod时,为内存和CPU指定新的限制。

我创建了podr nginx,其中我只指定了reguest:

代码语言:javascript
复制
apiVersion: v1
kind: Pod
metadata:
  labels:
    run: nginx-test
  name: nginx-test
spec:
  containers:
  - image: nginx
    name: nginx-test
    resources:
      requests:
        memory: "64Mi"
        cpu: "250m"
  dnsPolicy: ClusterFirst
  restartPolicy: Always

在创建了一个荚之后,我看到CPU和RAM是无限的:

代码语言:javascript
复制
  Namespace                   Name                                                              CPU Requests  CPU Limits  Memory Requests  Memory Limits  Age
  ---------                   ----                                                              ------------  ----------  ---------------  -------------  ---
  only-test                   nginx-test                                                        250m (0%)     0 (0%)      64Mi (0%)        0 (0%)         8m33s

也许这对码头工人来说是真的?我用的是装瓶。

EN

回答 1

Stack Overflow用户

发布于 2022-07-19 05:59:34

我想通了。要使用默认资源,需要在特定的命名空间中创建LimitRange。

示例:

代码语言:javascript
复制
apiVersion: v1
kind: LimitRange
metadata:
  name: mem-limit-range
spec:
  limits:
  - default:
      memory: 512Mi
    defaultRequest:
      memory: 256Mi
    type: Container
代码语言:javascript
复制
apiVersion: v1
kind: LimitRange
metadata:
  name: cpu-limit-range
spec:
  limits:
  - default:
      cpu: 1
    defaultRequest:
      cpu: 0.5
    type: Container
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73030892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档