我的版本Kubernetes是1.22
我正在修库伯内特斯的CKAD课程。
在“资源和限制”一节中,它说:
现在让我们看看在Docker世界中的节点上运行的容器。
Docker容器对它可以在节点上使用的资源没有限制。
假设容器从节点上的一个CPU开始。
它可以上升并消耗所需的资源,以窒息节点上的本机进程或其他资源容器。
但是,默认情况下,可以为这些部分的资源使用设置限制。
Kubernetes将一个CPU的限制设置为容器,因此如果没有显式指定,容器将被限制为只从节点消耗一个CPU。
记忆也是如此。
默认情况下,Kubernetes对容器设置512 Mi的限制。
如果不喜欢默认限制,可以通过在文件中的“资源”部分下添加“限制”部分来更改它们。
在创建pod时,为内存和CPU指定新的限制。
我创建了podr nginx,其中我只指定了reguest:
apiVersion: v1
kind: Pod
metadata:
labels:
run: nginx-test
name: nginx-test
spec:
containers:
- image: nginx
name: nginx-test
resources:
requests:
memory: "64Mi"
cpu: "250m"
dnsPolicy: ClusterFirst
restartPolicy: Always在创建了一个荚之后,我看到CPU和RAM是无限的:
Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits Age
--------- ---- ------------ ---------- --------------- ------------- ---
only-test nginx-test 250m (0%) 0 (0%) 64Mi (0%) 0 (0%) 8m33s也许这对码头工人来说是真的?我用的是装瓶。
发布于 2022-07-19 05:59:34
我想通了。要使用默认资源,需要在特定的命名空间中创建LimitRange。
示例:
apiVersion: v1
kind: LimitRange
metadata:
name: mem-limit-range
spec:
limits:
- default:
memory: 512Mi
defaultRequest:
memory: 256Mi
type: ContainerapiVersion: v1
kind: LimitRange
metadata:
name: cpu-limit-range
spec:
limits:
- default:
cpu: 1
defaultRequest:
cpu: 0.5
type: Containerhttps://stackoverflow.com/questions/73030892
复制相似问题