1-2 给容器和PODS 分配CPU资源

这一小节讲述 如何对容器分配CPU资源和对CPU资源使用做限制。
一个容器被保证有足够的CPU资源可以被调用,但是也不允许使用超过CPU资源的限制。

创建一个命名空间

kubectl create namespace cpu-example

定义一个CPU资源请求和CPU资源限制

资源请求
resources:requests

资源限制
resources:limits

在这个练习中,你创建了一个POD拥有 0.5cpu和1cpu的限制
apiVersion: v1
kind: Pod
metadata:
name: cpu-demo
namespace: cpu-example
spec:
containers:

  • name: cpu-demo-ctr
    image: vish/stress
    resources:
    limits:
    cpu: "1"
    requests:
    cpu: "0.5"
    args:

    • -cpus
    • "2"

args 设置了分配2个CPU

创建POD

kubectl create -f https://k8s.io/examples/pods/resource/cpu-request-limit.yaml --namespace=cpu-example

验证POD是否在运行

kubectl get pod cpu-demo --namespace=cpu-example

查看POD的详细信息

kubectl get pod cpu-demo --output=yaml --namespace=cpu-example

显示POD的资源分配为 500 milliCPU 和 1 CPU的限制

resources:
limits:
cpu: "1"
requests:
cpu: 500m

可以使用以下命令来获取容器的指标

kubectl top pod cpu-demo --namespace=cpu-example

以下为显示的内存分配指标
NAME CPU(cores) MEMORY(bytes)
cpu-demo 974m <something>

可以看到,虽然CPU设置了请求分配是2,但是限制是1,所以多于的资源请求会被砍掉。

CPU 单元

CPU资源使用CPU单元来衡量。
在k8s里面,一个CPU相当于:

原文地址:http://blog.51cto.com/binuu/2306650

时间: 2024-10-17 18:25:30

1-2 给容器和PODS 分配CPU资源的相关文章

配置Pods和containers--为Containers和Pods分配CPU资源

指定CPU请求和CPU限制 要为容器指定CPU请求,在容器资源清单中使用resources:requests字段.要指定CPU限制,使用resources:limits. cpu-request-limit.yaml 1 apiVersion: v1 2 kind: Pod 3 metadata: 4 name: cpu-demo 5 namespace: cpu-example 6 spec: 7 containers: 8 - name: cpu-demo-ctr 9 image: vish

配置Pods和containers--为Containers和Pods分配内存资源

指定内存请求和内存限制 要为容器指定内存请求,在容器的资源清单中使用resources:requests字段.要指定内存限制,使用resources:limits. memory-request-limit.yaml 1 apiVersion: v1 2 kind: Pod 3 metadata: 4 name: memory-demo 5 namespace: mem-example 6 spec: 7 containers: 8 - name: memory-demo-ctr 9 image

vSphere正确分配虚拟机CPU资源

在VMware vSphere环境下,如果虚拟机系统的硬件资源配置不当,会对系统性能造成很大影响.如图所示,这里说的硬件资源配置主要包括CPU.内存.硬盘.网络适配器等.本文结合笔者亲身体会,分析如何正确的分配CPU资源. 一.CPU资源说明 VMware vSphere为虚拟机分配的CPU数是指逻辑处理器数.每台主机(服务器)拥有的逻辑处理器总数是不一样的,为物理CPU数量×每CPU的核(Core)数×超线程因子,当硬件支持超线程且在BIOS中开启超线程时,超线程因子为2,否则为1.例如某服务

STL容器的内存分配

这篇文章参考的是侯捷的<STL源码剖析>,所以主要介绍的是SGI STL实现版本,这个版本也是g++自带的版本,另外有J.Plauger实现版本对应的是cl自带的版本,他们都是基于HP实现的版本,有兴趣可以翻翻最新的源码头文件开始处有声明. /* * * Copyright (c) 1994 * Hewlett-Packard Company(这里) * * Permission to use, copy, modify, distribute and sell this software *

给进程分配cpu核心

新负责的程序采用生产者和消费者的模式,生产者的速度非常快,数据几乎都在内存里,处理起来很快.而消费者要频繁的I/O.所以打算给生产者和消费者分配不一样的核心. 生产者只需要一个核心就够了,其余分配给消费者. 查了下这方面的资料,shell端有taskset命令可用. taskset: -p 正在运行的进程pid -c 列表形式显示指定cpu -v version -h help 用法:i.e. # taskset -cp 1,2,3 4321 # taskset -c 1,2,3-5 /usr/

kubernetes-pod分配CPU和RAM资源以及计算方法

例子: Containers: cpu-ram-demo-container: ... image: busybox:latest resources: Limits: cpu: 1 memory: 128Mi Requests: cpu: 250m memory: 64Mi 可以理解为: cpu: 最多使用1个核,最低要求 250/1000 = 1/4 核 (1 = 1000m):可以使用top简单查看你的机器的cpu总共有多少个核: memory: 最多使用128M,最低要求64 M; CP

LMT NODE PBS作业排队系统——高效分配网格资源

LMT NODE PBS作业排队系统--高效分配网格资源 网格是一个集成的计算与资源环境,充分吸收各种计算资源,并将它们转化成一种随处可得的.可靠的.标准的同时还是经济的计算能力.与传统的网络资源不同,网格资源具有异构性.动态性和自治性的特点. 网格资源的这些特性给网格资源自身的管理带来了实现上的困难和不可控性.同时为了满足高性能计算的目的,必须提供高效的资源管理服务.网格系统的资源管理负责决定作业请求CPU服务等待时间.作业的内存分配.以及怎样平衡计算负载等多方面的问题.资源管理同时负责在所有

LMT NEW PBS作业排队系统——高效分配网格资源

LMT NEW PBS作业排队系统--高效分配网格资源 网格是一个集成的计算与资源环境,充分吸收各种计算资源,并将它们转化成一种随处可得的.可靠的.标准的同时还是经济的计算能力.与传统的网络资源不同,网格资源具有异构性.动态性和自治性的特点. 网格资源的这些特性给网格资源自身的管理带来了实现上的困难和不可控性.同时为了满足高性能计算的目的,必须提供高效的资源管理服务.网格系统的资源管理负责决定作业请求CPU服务等待时间.作业的内存分配.以及怎样平衡计算负载等多方面的问题.资源管理同时负责在所有提

Spark在实际项目中分配更多资源

Spark在实际项目中分配更多资源 Spark在实际项目中分配更多资源 性能调优概述 分配更多资源 性能调优问题 解决思路 为什么调节了资源以后,性能可以提升? 性能调优概述 分配更多资源 性能调优的根本,就是增加和分配更多的资源,性能和速度上的提升,是显而易见的 基本上,在一定范围之内,增加资源与性能的提升,是成正比的 写完了一个复杂的spark作业之后,进行性能调优的时候,首先第一步,就是要来调节最优的资源配置 在这个基础之上,如果说你的spark作业,能够分配的资源达到了你的能力范围的顶端