Akiraka Akiraka
  • Home
  • Linux
    • ELK
    • PHP
    • Shell
    • Nginx
    • Docker
      • Docker Compose
    • Centos
    • Ubuntu
    • Jenkins
  • Python
  • Mac OS
  • Windows
  • Big Data
    • Hadoop
    • CDH
    • Hive
    • Spark
    • ZooKeeper
  • K8S
    • Kubernetes
    • Helm
  • Other
  • Quark
  • Contribute
  • Home
  • Linux
    • ELK
    • PHP
    • Shell
    • Nginx
    • Docker
      • Docker Compose
    • Centos
    • Ubuntu
    • Jenkins
  • Python
  • Mac OS
  • Windows
  • Big Data
    • Hadoop
    • CDH
    • Hive
    • Spark
    • ZooKeeper
  • K8S
    • Kubernetes
    • Helm
  • Other
  • Quark
  • Contribute
首页 Kubernetes Kubernetes 限制节点启动的 Pod 数量

Kubernetes 限制节点启动的 Pod 数量

Akiraka 1月前

文章目录

  • 一、Node节点默认的Pod数量
  • 二、修改限制Pod启动数量
    • 2.1、修改配置
    • 2.2、修改后配置
    • 2.3、重启 Kubelet
    • 2.4、查看结果

一、Node节点默认的Pod数量

Kubernetes Node节点每个默认允许最多创建110个Pod,有时可能会由于系统硬件的问题,从而需要控制Node节点的Pod的运行数量。
即:需要调整Node节点的最大可运行Pod数量。
一般来说,我们只需要在kubelet启动命令中增加–max-pods参数,然后,重启kubelet 服务,就生效
重启kubelet,不影响现有运行中的容器,不会造成容器重启。

二、修改限制Pod启动数量

  • 修改需要在个个节点上操作
root@k8s-master-0001:/etc/systemd/system/kubelet.service.d$ kubectl describe nodes k8s-node-0001 | grep pod
  pods:               110
  pods:               110
  Normal   NodeAllocatableEnforced  18s                 kubelet  Updated Node Allocatable limit across pods

2.1、修改配置

vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
# 添加参数
Environment="KUBELET_NODE_MAX_PODS=--max-pods=200"
# 增加环境变量 $KUBELET_EXTRA_ARGS
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS $KUBELET_NODE_MAX_PODS

2.2、修改后配置

root@k8s-node-0001:/$ cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 
# Note: This dropin only works with kubeadm and kubelet v1.11+
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
Environment="KUBELET_NODE_MAX_PODS=--max-pods=200"
# This is a file that "kubeadm init" and "kubeadm join" generates at runtime, populating the KUBELET_KUBEADM_ARGS variable dynamically
EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
# This is a file that the user can use for overrides of the kubelet args as a last resort. Preferably, the user should use
# the .NodeRegistration.KubeletExtraArgs object in the configuration files instead. KUBELET_EXTRA_ARGS should be sourced from this file.
EnvironmentFile=-/etc/sysconfig/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS $KUBELET_NODE_MAX_PODS

2.3、重启 Kubelet

systemctl daemon-reload
systemctl restart kubelet

2.4、查看结果

  • 在 master 节点上查看结果
root@k8s-master-0001:/$ kubectl describe nodes k8s-node-0001 | grep pod
  pods:               200
  pods:               200
  Normal   NodeAllocatableEnforced  18s                 kubelet  Updated Node Allocatable limit across pods
#k8s#kubernetes
0
猜你喜欢
  • Ingress Nginx 添加 Basic Auth 安全认证
  • CoreDNS 添加自定义 Hosts 解析与 DNS 转发解析
  • Container 命令ctr、crictl 命令使用说明
  • 密码保护:Kubernetes中容器Nginx动态解析
  • 存活探针(Liveness)、就绪探针(Readiness)、启动探针(Startup)、容器钩子
评论 (0)
请登录以参与评论。
立即登录
    暂无评论
Akiraka
站长
本人擅长 Ai、Au、Fl、Ae、Pr、Ps 等软件的安装与卸载,精通 CSS、JavaScript、PHP、Python、Shell、Go 等单词的拼写,熟悉 Windows、Linux、Mac、Android、IOS 等系统的开关机!
160
文章
24
评论
73
获赞
Popular Articles
TOP1
Kubernetes(k8s)Helm 部署 EFK 集群
2年前
TOP2
Kubernetes(k8s)helm 搭建 prometheus + Grafana 监控
2年前
TOP3
Container 命令ctr、crictl 命令使用说明
11月前
TOP4
Kubernetes(k8s)Helm 部署 Jenkins 持续化集成部署
2年前
TOP5
Helm 部署 Loki 日志聚合
2年前
Related Articles
Kubeadm 更改NodePort端口范围
2年前
Container 命令ctr、crictl 命令使用说明
11月前
Kubernetes(k8s)helm 部署 Traefik
2年前
Kubernetes(k8s)helm 部署 RabbitMq 集群
2年前
Kubernetes(k8s)helm 部署 Nginx Ingress
2年前
Copyright © 2019-2022 Akiraka. 沪18036911号