【问题标题】:Kubernetes and Docker - Running single core applicationKubernetes 和 Docker - 运行单核应用程序
【发布时间】:2019-02-17 07:53:07
【问题描述】:

背景

我有谷歌云 Kubernetes,它从 Docker 映像运行我的应用程序。我的节点池是具有 8 个 CPU 的机器。

问题

我的一个应用程序没有很好地使用 CPU,因为它是用 Python 编写的(阅读更多关于 python Global Interpreter Lock - GIL - 问题)。

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

问题

这是否可以决定我的应用程序将“看到”多少个内核?我想将其限制为“1”。

【问题讨论】:

    标签: docker kubernetes google-kubernetes-engine


    【解决方案1】:

    如果您阅读this documentation from Kubernetes,您会看到资源管理已“融入”到 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"
    

    【讨论】:

      【解决方案2】:

      您可以为特定 pod 设置资源的requestlimit

          resources:
            limits:
              cpu: "1"
            requests:
              cpu: "0.5"
      

      了解更多信息:https://kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-29
        • 2018-12-13
        • 2019-01-30
        • 1970-01-01
        • 2021-09-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多