深入理解Kubernetes中Pod计算资源的管理
1. CPU请求对CPU时间共享的影响
在集群中运行两个Pod(暂不考虑系统Pod,因其大多处于空闲状态),一个Pod请求200毫核CPU,另一个请求量是其五倍,即1000毫核。Kubernetes区分资源请求和资源限制,若未定义限制,这两个Pod在CPU使用上不受限制。
当两个Pod内的进程都尽可能多地使用CPU时,CPU请求不仅影响调度,还决定了未使用CPU时间在Pod间的分配。由于两个Pod的CPU请求比例为1:5,未使用的CPU时间也会按此比例分配。若两个Pod都充分使用CPU,第一个Pod将获得六分之一(16.7%)的CPU时间,另一个则获得六分之五(83.3%)。
若一个容器想尽可能多地使用CPU,而另一个容器在某一时刻处于空闲状态,前者将被允许使用全部CPU时间(减去后者可能使用的少量时间)。当第二个容器需要CPU时间时,它会获得,而第一个容器将被限制。
2. 定义和请求自定义资源
Kubernetes允许向节点添加自定义资源,并在Pod的资源请求中请求这些资源。最初这些被称为不透明整数资源,在Kubernetes 1.8版本中被扩展资源取代。
操作步骤如下:
1. 通过向Node对象的容量字段添加自定义资源,让Kubernetes知晓该资源。可通过执行PATCH HTTP请求来完成。资源名称可以是任意的,只要不以 kubernetes.io 域开头,例如 example.org/my-resource 。资源数量必须是整数,如可以设置为1000m、2000m或1、2 ,该值会自动从
超级会员免费看
订阅专栏 解锁全文
1445

被折叠的 条评论
为什么被折叠?



