前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【kubernetes系列】master节点部署Pod处于Pending状态

【kubernetes系列】master节点部署Pod处于Pending状态

作者头像
沁溪源
发布2022-05-06 10:04:19
3.3K1
发布2022-05-06 10:04:19
举报
文章被收录于专栏:沁溪源

目录

一、绪论

产生问题的原因是master节点部署Pod,导致无法启动; 问题描述: Warning FailedScheduling 40s (x28 over 28m) default-scheduler 0/1 nodes are available: 1 node(s) had taint {node-role.kubernetes.io/master: }, that the pod didn’t tolerate.

二、情景再现

部署环境,k8s中的master节点创建Pod

  • 命令kubectl run 自定义pod名字 --image=基础镜像 示例
代码语言:javascript
复制
[root@VM-4-8-centos kubernetes]# kubectl run my-nginx --image=nginx
pod/my-nginx created
  • 查看pod 由于上面创建Pod时,未指定namespace,故默认处于default中; 命令kubectl get pod

my-nginx一直处于Ping状态;

  • 查看Pod描述信息 命令kubectl describe pod 自定义的Pod名称

原因:kubeadm集群时,出于安全考虑Pod不会被调度到Master Node上,默认情况下,master打了污点,不参与工作负载; 解决方案:手动删除master的污点;

  • 查看污点信息 命令:kubectl get no -o yaml | grep taint -A 5

三、解决方案

  • 删除master节点污点 命令kubectl taint nodes --all node-role.kubernetes.io/master- 结果如下:
代码语言:javascript
复制
 [root@VM-4-8-centos kubernetes]# kubectl taint nodes --all node-role.kubernetes.io/master-
node/vm-4-8-centos untainted

再次查看Pod状态,已经Running

  • 查看Pod描述信息 着重点Events
代码语言:javascript
复制
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason            Age                 From               Message
  ----     ------            ----                ----               -------
  //之前Ping事件
  Warning  FailedScheduling  69s (x36 over 36m)  default-scheduler  0/1 nodes are available: 1 node(s) had taint {node-role.kubernetes.io/master: }, that the pod didn't tolerate.
 //删除污点之后,执行事件
  Normal   Pulling           44s                 kubelet            Pulling image "nginx"
  Normal   Pulled            39s                 kubelet            Successfully pulled image "nginx" in 5.61441699s
  Normal   Created           39s                 kubelet            Created container my-nginx
  Normal   Started           38s                 kubelet            Started container my-nginx
  • 再次开启master节点污点 命令kubectl taint nodes k8s node-role.kubernetes.io/master=true:NoSchedule
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 一、绪论
  • 二、情景再现
  • 三、解决方案
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档