kubernetes资源配置中的请求和参数之间有什么区别?
我试图在Kubernetes中设置容器的部署。我希望控制资源利用率。我指的是 文档中的配置示例-kubernetes资源配置中的请求和参数之间有什么区别?,kubernetes,Kubernetes,我试图在Kubernetes中设置容器的部署。我希望控制资源利用率。我指的是 文档中的配置示例- resources: limits: memory: "200Mi" requests: memory: "100Mi" command: ["stress"] args: ["--vm", "1", "--vm-bytes", "150M", "--vm-hang", "1"] 但是我无法清楚地理解请求和args字段之间的区
resources:
limits:
memory: "200Mi"
requests:
memory: "100Mi"
command: ["stress"]
args: ["--vm", "1", "--vm-bytes", "150M", "--vm-hang", "1"]
但是我无法清楚地理解请求
和args
字段之间的区别limits
很明显,容器使用的资源量不应超过限制量
args
的确切用途是什么,声明这是容器将开始使用的资源。那么它与请求
有何不同呢?关于args,因为它是重复回答中唯一没有回答的问题:
Args与资源定义无关,它只描述在开始时传递给docker容器的参数
在本例中,图像可能正在运行java代码,用户决定将一些与内存相关的参数传递给它。
如果映像使用不同的映像,例如node,则args可以是容器中运行的节点代码的一些参数
希望它能回答你的问题
resources:
limits:
memory: "200Mi"
requests:
memory: "100Mi"
资源具有请求和限制字段。这意味着至少应为容器分配100Mi内存,该值足以运行容器。在流量峰值的情况下,它可能会突发内存消耗高达200Mi。这是一种上限。如果超过200Mi,容器将被终止/重新启动 参数作为命令行参数传递给命令(压力容器)
看起来压力正在消耗--vm字节=150M内存作为参数传递
我认为在压力工具的帮助下,文档试图表明容器可以在请求值和限制值之间消耗内存。Thanke@ShaiKatz的可能重复。但我更关心请求和arg之间的微妙之处。引用的问题更多地讨论了请求和限制以及边界情况之后的行为。您的意思是说
vm-vm-bytes-vm-hang
都是与Java相关的参数吗?如果是这样的话,我不这么认为。我在Java中没有看到过这些参数。Java通常会收到类似的参数,这就是为什么我在进一步阅读后说,在这种情况下,纯Linux上的stress
命令和相应的参数: