Kubernetes和Docker-运行单核应用程序 背景

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:

我有Google cloud Kubernetes,它从Docker image运行我的应用程序。我的节点池是具有8个CPU的机器

问题 我的一个应用程序没有很好地使用CPU,因为它是用Python编写的(请阅读有关Python全局解释器Lock-GIL-problem的更多信息)

因此,该环境使用8核运行,但应用程序不需要它

问题
这是否可以决定我的应用程序将“看到”多少内核?我想将其限制为“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"