美文网首页
k8s系统预留资源

k8s系统预留资源

作者: Firetheworld | 来源:发表于2020-11-13 15:16 被阅读0次

k8s的节点调度按照Capacity调度,默认情况下pod 使用节点的全部可用容量。

计算节点的进程分为:

  • Pod 进程:容器进程
  • 非Pod进程:系统进程。

需要对k8s进行资源预留,k8s把所有的资源都分配给Pod会导致计算节点出现Not Ready,导致发生雪崩效应。k8s集群不在状态中。

k8s的计算资源共有四部分

kube-reserved:预留给 K8S 管理进程的资源,如 Kubelet,Docker Daemon 等
system-reserved:预留给系统资源
eviction-threshold:eviction 的阈值
allocatable(available for pods):pods 可以使用的资源

为了简化管理,建议不对 kube-reserved/system-reserved 做区分,预留给二者内存的总和为 4 GB。启动 kubelet 时,设置如下参数

ubuntu系统:

sudo vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --cgroups-per-qos=true --kube-reserved=cpu=500m,memory=2Gi"

centos系统:
系统资预留源前查看:

[root@k8s-10-192-43-203 ~]# kubectl describe node k8s-10-192-43-204
...
...
...

  InternalIP:  10.192.43.204
  Hostname:    k8s-10-192-43-204
Capacity:
 cpu:                16
 ephemeral-storage:  296855940Ki
 hugepages-1Gi:      0
 hugepages-2Mi:      0
 memory:             32851920Ki
 pods:               110
Allocatable:
 cpu:                16
 ephemeral-storage:  273582433852
 hugepages-1Gi:      0
 hugepages-2Mi:      0
 memory:             32749520Ki
 pods:               110

资源限制:

[root@k8s-10-192-43-204 ~]# vi /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --kube-reserved=cpu=500m,memory=1Gi"
[root@k8s-10-192-43-204 ~]# systemctl daemon-reload
[root@k8s-10-192-43-204 ~]# systemctl restart kubelet

系统资预留源后查看:

[root@k8s-10-192-43-203 ~]# kubectl describe node k8s-10-192-43-204
...
...
...
Addresses:
  InternalIP:  10.192.43.204
  Hostname:    k8s-10-192-43-204
Capacity:
 cpu:                16
 ephemeral-storage:  296855940Ki
 hugepages-1Gi:      0
 hugepages-2Mi:      0
 memory:             32851920Ki
 pods:               110
Allocatable:
 cpu:                15500m
 ephemeral-storage:  273582433852
 hugepages-1Gi:      0
 hugepages-2Mi:      0
 memory:             31700944Ki
 pods:               110

相关文章

  • k8s系统预留资源

    k8s的节点调度按照Capacity调度,默认情况下pod 使用节点的全部可用容量。 计算节点的进程分为: Pod...

  • Kubernetes 运维小记:node 为系统保留最低资源

    今天优化了 k8s 生产集群的部署,为系统(linux 与 k8s系统pod)保留最低资源,以免应用 pod 负载...

  • PRECONDITION

    PRECONDITION:先决条件,预留条件 SIP中解释作为资源预留,就是建立会话预留的资源。RFC3312有对...

  • Openshift node节点系统资源预留

    实际应用中发现,如果不做处理,当集群内应用数量不断增加时,会占满node节点的系统资源,导致某node节点挂掉,同...

  • Kubernetes资源预留

    为什么需要预留资源 Kubernetes 的节点可以按照 Capacity 调度。默认情况下 pod 能够使用节点...

  • 分布式事务之TCC

    TCC 指的是Try - Confirm - Cancel。 Try 指的是预留,即资源的预留和锁定,注意是预留。...

  • k8s节点资源预留与 pod 驱逐

    为什么 K8S 的节点上的资源会被 pod 和系统进程所使用,如果默认什么都不配置,那么节点上的全部资源都是可以分...

  • 外部Prometheus监控k8s集群资源

    Prometheus监控k8s资源 通过Prometheus监控k8s集群中各种资源:如微服务,容器资源指标 并在...

  • Mesos 预留资源清理

    问题 安装了很多Framework,卸载后预留资源不能回收重用。 通过marthon卸载的服务,部分服务会在后天继...

  • 第二章:K8S的资源管理

    K8S的资源管理 k8s编排资源介绍 回顾:Master:- APIServer: 6443端口- 用户认证: 双...

网友评论

      本文标题:k8s系统预留资源

      本文链接:https://www.haomeiwen.com/subject/qagvbktx.html