概念介绍
Pod 是 Kubernates 最重要的基本概念,每个Pod都有一个称为“根容器”的Pause容器。Pause容器对应的镜像属于Kubernates平台的一部分,除了Pause容器,每个Pod还包含一个或多个紧密相关的用户业务容器。
每个Pod都可以对其能使用的服务器上的计算资源设置限额,当前可设置限额的计算资源有 CPU 和 Memory两种,其中 CPU 的资源单位为 CPU(Core) 的数量,,是一个绝对值而非相对值。
对于对大多数容器来说,一个 CPU 的资源配额相当大,所以在 Kubernates 中通常以千分之一的CPU配额为最小单位,用m表示。通常一个容器的CPU配额被定义为100~300m,即占用0.1 ~ 0.3 个 CPU。由于CPU配额是一个绝对值,所以无论拥有一个Core的机器上,还是拥有48个Core的机器上,100m这个配额所代表的CPU使用量都是一样的。
与CPU配额类似,Memory配额也是一个绝对值,它的单位是内存字节数。
资源配额
在 Kubernates 里,一个计算资源进行配额限定时需要设定以下两个参数。
- Requests: 该资源的最小申请量,系统必需满足要求
- Limits: 该资源最大允许使用的量,不能被突破,当容器试图使用超过这个量的资源时,可能会被 Kubernates “杀掉” 并重启。
DEMO:
spec:
containers:
- name: db
image: mysql
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "128Mi"
cpu: "500m"
上面的这段定义表明MySQL容器申请最少 0.25个CPU 及 64MiB 内存,在运行过程中 MySQL 容器所能使用的资源配额为 0.5个CPU 及 128MiB 内。存
参考文档: