Kubernetes和Docker-运行单核应用程序 背景
我有Google cloud Kubernetes,它从Docker image运行我的应用程序。我的节点池是具有8个CPU的机器 问题 我的一个应用程序没有很好地使用CPU,因为它是用Python编写的(请阅读有关Python全局解释器Lock-GIL-problem的更多信息) 因此,该环境使用8核运行,但应用程序不需要它 问题Kubernetes和Docker-运行单核应用程序 背景,docker,kubernetes,google-kubernetes-engine,Docker,Kubernetes,Google Kubernetes Engine,我有Google cloud Kubernetes,它从Docker image运行我的应用程序。我的节点池是具有8个CPU的机器 问题 我的一个应用程序没有很好地使用CPU,因为它是用Python编写的(请阅读有关Python全局解释器Lock-GIL-problem的更多信息) 因此,该环境使用8核运行,但应用程序不需要它 问题 这是否可以决定我的应用程序将“看到”多少内核?我想将其限制为“1”。您可以设置特定pod的请求和限制 resources: limits:
这是否可以决定我的应用程序将“看到”多少内核?我想将其限制为“1”。您可以设置特定pod的
请求
和限制
resources:
limits:
cpu: "1"
requests:
cpu: "0.5"
阅读更多信息:如果您阅读,您将看到资源管理是Kubernetes的“烘焙”,特别是用于定义分配的CPU数量和每个CPU的使用量
这是在.yaml文件中定义的
从文件中:
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"