Kubernetes(k8s)-Request&Limit介绍

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们上一章介绍了Docker基本情况,目前在规模较大的容器集群基本都是Kubernetes,但是Kubernetes涉及的东西和概念确实是太多了,而且随着版本迭代功能在还增加,笔者有些功能也确实没用过,所以只能按照我自己的理解来讲解。

在Docker里面是是可以通过cgroup来限制容器的资源占用,并且是通过docker run 然后添加限制参数来实现的,但是k8s并没有直接这样的参数,它又是通过什么方式来限制呢?

在k8s的资源里面给我们添加request和limit2个配置,通过配置这个2个配置来实现资源的限制。

在 Kubernetes 配置文件中,requests 和 limits 是与资源管理相关的两个重要概念,它们都在 spec 部分的 containers 字段下定义。这两个设置用于控制 Pod 中容器可以使用的资源量,通常指的是 CPU 和内存资源。

以下是 requests 和 limits 在容器配置中的示例用法:

spec:
  containers:
  - name: nginx
    image: nginx:1.14.2
    ports:
    - containerPort: 80
    resources:
      requests:
        memory: "64Mi"  # 请求内存:64 MiB
        cpu: "250m"     # 请求 CPU:250 毫核 (0.25 核)
      limits:
        memory: "128Mi" # 内存限制:128 MiB
        cpu: "500m"     # CPU 限制:500 毫核 (0.5 核)

解释

  • requests:定义了容器启动时最小的资源需求量。

    • memory: "64Mi":此容器在创建时,至少需要 64MiB 的内存才能运行。

    • cpu: "250m":此容器在创建时,至少需要 0.25 CPU 核心的处理能力。在 Kubernetes 中,1 CPU 等于云供应商的 1 vCPU/Core 或者物理 CPU 的 1 核心。

    • 这个request实际上和资源限制的cgroup完全没有关系,它只在调度的时候有用。如果出现资源不足的情况,则会出现调度失败;如果所有节点都没有足够的资源,则pod无法调度到节点(也就是pod无法落到某一个具体的节点)。

  • limits:定义了容器运行过程中可以使用的资源上限。

    • memory: "128Mi":此容器可以使用的内存上限是 128MiB。如果容器尝试使用超过此限制的内存,它可能会被 OOMKilled(内存不足杀掉)。

    • cpu: "500m":此容器可以使用的 CPU 处理能力上限是 0.5 核心。如果容器尝试使用更多的 CPU,它的 CPU 使用将会被限制,在必要时会被节流(降低 CPU 使用率),但是它不会被杀死。

    • 这个limit实际上就等于docker run里面的 -m 限制内存和--cpus 限制cpu。

#通过这个命令可以看才服务器可用资源
#这里显示了当前节点的总资源和可用资源
[root@master01 ~]# kubectl  describe node node01 |grep Capacity -A13
Capacity:
  cpu:                2
  ephemeral-storage:  19442Mi
  hugepages-1Gi:      0
  hugepages-2Mi:      0
  memory:             3901352Ki
  pods:               110
Allocatable:
  cpu:                2
  ephemeral-storage:  18347773103
  hugepages-1Gi:      0
  hugepages-2Mi:      0
  memory:             3798952Ki
  pods:               110

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值