关注分享主机优惠活动
国内外VPS云服务器

Kubernetes资源分配(限制/请求)(Kubernetes中的资源对象是什么)

总结:通过两类约束进行资源分配,实现资源的有效调度和分配,同时提高资源利用率。 限制类型引入了容器所使用的最小资源需求,作为容器调度期间确定资源分配的基础。

概述

Kubernetes 是一个集群管理平台。 Kubernetes必须统计全平台的资源使用情况,合理分配资源给容器,确保容器生命周期内有足够的资源保证容器运行。 同时,如果资源分配是独占的,那么空闲的容器占用CPU等未使用的资源是非常浪费的。 K8 必须考虑如何根据优先级和公平性提供对资源的访问。

为了实现资源的有效调度和分配,同时提高资源利用率,k8s使用两种限制类型(request和limit)来分配资源。

limit/request 引入限制类型request

容器使用的最小资源需求。 用作容器期间资源分配的标准。 调度。

只有当当前节点分配的资源量大于或等于请求时,容器才能被调度到该节点。

请求参数不限制容器可以使用的最大资源。

限制

容器可以使用的最大资源

设置为0。 使用的资源没有限制,可以无限制地使用。

请求和限制之间的关系

请求确保 Pod 有足够的资源。 run, limit 可防止特定 pod 耗尽资源。 限制资源使用将导致其他 Pod 崩溃。 两者之间的关系必须满足:

0 <= request <= limit

如果limit=0表示没有资源限制,那么request小于我不介意。

目前CPU支持设置请求和限制。 内存仅支持配置请求。 该限制应强制与请求相同。这样可以防止容器因为内存使用超出请求但未超出限制而被意外杀死。

限制/请求使用示例

---apiVersion: apps/v1beta2kind: Deploymentmetadata: name: nginx namespace: php label: app: nginxspec:reviationHistoryLimit : 10策略:类型:RollingUpdate选择器:matchLabels:应用程序:nginx模板:元数据:标签:应用程序:nginx规范:容器:-名称:nginx图像:nginx:最新端口:-容器端口:80协议:TCP资源:请求:cpu:0.5 内存:1024Mi 限制:cpu:1 内存:2048Mi--- apiVersion:自动缩放/v1kind:horizo​​ntalPodAutoscalermetadata:名称:nginx 标签:应用程序:nginxspec:scaleTargetRef :apiVersion:扩展/v1beta1 kind: 部署名称:nginx minReplicas: 2 maxReplicas: 4 targetCPUUtilizationPercentage: 80

参考

分析 Kubernetes 资源分配请求和限制

未经允许不得转载:主机频道 » Kubernetes资源分配(限制/请求)(Kubernetes中的资源对象是什么)

评论 抢沙发

评论前必须登录!