kubernetes 中未指定资源时,默认分配是什么?
what is the default allocation when resources are not specified in kubernetes?
以下为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 的内容?
如果没有为Pod指定资源,Pod会被调度到任意节点,选择节点时不考虑资源。
如果 Pod 使用的内存多于可用内存或获得很少的 CPU 时间,则 Pod 可能会“终止”,因为 Pods 具有指定资源的资源将被优先处理。为您的 Pods.
设置资源是一个好习惯
参见 Configure Quality of Service for Pods - 您的 Pod 将被归类为“尽力而为”:
For a Pod to be given a QoS class of BestEffort, the Containers in the Pod must not have any memory or CPU limits or requests.
在您的情况下,kubernetes
会将名为 BestEffort
的 QoS
分配给您的广告连播。
这意味着 kube-scheduler
不知道如何安排您的广告连播并尽力而为。
这也意味着您的 pod 可以使用它想要的任何数量的资源(cpu/mem)(但是如果出现任何问题,kubelet
将驱逐它)。
要查看您的 pod 的资源成本,您可以使用 kubectl top pod xxxx
以下为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 的内容?
如果没有为Pod指定资源,Pod会被调度到任意节点,选择节点时不考虑资源。
如果 Pod 使用的内存多于可用内存或获得很少的 CPU 时间,则 Pod 可能会“终止”,因为 Pods 具有指定资源的资源将被优先处理。为您的 Pods.
设置资源是一个好习惯参见 Configure Quality of Service for Pods - 您的 Pod 将被归类为“尽力而为”:
For a Pod to be given a QoS class of BestEffort, the Containers in the Pod must not have any memory or CPU limits or requests.
在您的情况下,kubernetes
会将名为 BestEffort
的 QoS
分配给您的广告连播。
这意味着 kube-scheduler
不知道如何安排您的广告连播并尽力而为。
这也意味着您的 pod 可以使用它想要的任何数量的资源(cpu/mem)(但是如果出现任何问题,kubelet
将驱逐它)。
要查看您的 pod 的资源成本,您可以使用 kubectl top pod xxxx