1

下面是 Kubernetes POD 定义

apiVersion: v1
kind: Pod
metadata:
  name: static-web
  labels:
    role: myrole
spec:
  containers:
    - name: web
      image: nginx
      ports:
        - name: web
          containerPort: 80
          protocol: TCP

由于我没有指定资源,将分配多少内存和 CPU?是否有 kubectl 来查找为 POD 分配的内容?

4

2 回答 2

3

如果没有为 Pod 指定资源,则 Pod 将被调度到任何节点,并且在选择节点时不考虑资源。

如果 Pod 使用的内存多于可用内存或 CPU 时间很少,则 Pod 可能会被“终止”,因为具有指定资源的 Pod 将被优先考虑。为您的 Pod 设置资源是一种很好的做法。

请参阅为 Pod 配置服务质量- 您的 Pod 将被归类为“Best Effort”:

要为 Pod 提供 BestEffort 的 QoS 类,Pod 中的容器不得有任何内存或 CPU 限制或请求。

于 2021-09-21T17:00:36.307 回答
2

在您的情况下,kubernetesQoS调用分配BestEffort给您的 pod。这意味着kube-scheduler不知道如何调度您的 pod 并尽力而为。

这也意味着您的 pod 可以消耗它想要的任何数量的资源(cpu/mem)(但kubelet如果出现任何问题,它将驱逐它)。

要查看 pod 的资源成本,您可以使用kubectl top pod xxxx

于 2021-09-22T00:55:13.233 回答