K8S实现资源预留分析

一、kubernetes中关于资源的计算方式

allocatablle
Kubernetes中通过节点用allocatableKubelet Node Allocatable用来为Kube组件和System进程预留资源,从而保证当节点出现满负荷时也能保证Kube和System进程有足够的资源。

节点可为pod分配的资源计算方法:
Node Allocatable Resource = Node Capacity(资源总大小) - Kube-reserved(kubz组件保留资源) - system-reserved(系统保留资源) - eviction-threshold(用户设置的驱逐阈值)

无论Pod怎么消耗资源,都不会超过分配的Node Allocatable Resource,一旦超过,Pod就会触发驱逐策略。

二、kubernetes中关于资源预留的配置方式

在kubelet的启动参数中,可配置kubernetes的资源预留相关参数:

  • –enforce-node-allocatable,默认为pods,要为kube组件和System进程预留资源,则需要设置为pods,kube-reserved,system-reserve。
  • –cgroups-per-qos,Enabling QoS and Pod level cgroups,默认开启。开启后,kubelet会将管理所有workload Pods的cgroups。
  • –cgroup-driver,默认为cgroupfs,另一可选项为systemd。取决于容器运行时使用的cgroup driver,kubelet与其保持一致。比如你配置docker使用systemd cgroup driver,那么kubelet也需要配置–cgroup-driver=systemd,否则kubelet启动会报错。
  • –kube-reserved,用于配置为kube组件(kubelet,kube-proxy,dockerd等)预留的资源量,比如—kube-reserved=cpu=1000m,memory=8Gi,ephemeral-storage=16Gi。
  • –kube-reserved-cgroup,如果你设置了–kube-reserved,那么请一定要设置对应的cgroupÿ
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值