zoukankan      html  css  js  c++  java
  • 副本控制集为daemonsets类型Pod,被delete后没有被重新拉起。

    问题描述

    副本控制集为daemonsets类型Pod,被delete后没有被重新拉起。

    原因

    此问题Pod所在node的/etc/docker/daemon.json文件被修改过,修改daemon.json时内容写错了,导致重启docker跟daemon-reload失败并报错,于是把daemon.json中填写错误的内容改正后,可以成功重启docker跟daemon-reload。但因为第一次重启失败导致了此问题Pod所在node上的kubelet、kube-proxy有了问题,所以Pod被delete时没有被重新拉起。

    排查过程

    1、kubectl get ds --all-namespaces   查看此Pod的副本控制集是否正常。(如果副本控制集是rs 命令:kubectl get rs    如果副本控制集是deployment 命令:kubectl get deployment)

         输出结果显示此Pod的副本控制集状态是正常。

    2、查看此Pod daemonsets 的yaml是否正常

    kubectl get ds Pod的ds名 -oyaml  
    status:
    currentNumberScheduled: 14
    desiredNumberScheduled: 14
    numberAvailable: 36
    numberMisscheduled: 0
    numberReady: 36
    numberUnavailable: 107
    observedGeneration: 1
    updatedNumberScheduled: 14
      

    3、kubectl get node  确认node状态是否正常,输出结果显示有问题Pod的Node是NotReady状态。

    4、kubectl describe node $node名
         结果发现从前一天此Node就没有了心跳上报:
     
     5、登陆此Node上,重启docker、daemon-reload依旧NotReady,于是再重启kubelet、kube-proxy后解决。
     
     6、可以在排查时看下node的/var/log/message日志。
          或者用journalctl查看日志:
          journalctl -u kubelet |tail
          journalctl -xe
          journalctl -u kube-scheduler
          journalctl -xefu kubelet
          journalctl -u kube-apiserver

  • 相关阅读:
    Beta 冲刺 (3/7)
    软件产品案例分析(团队)
    Beta 冲刺 (2/7)
    Beta 冲刺1
    第七次作业
    第六次作业(计算器第四步)
    课堂作业二 PAT1025 反转链表
    第五次作业(计算器第三步)
    课堂作业一(16/05/04)
    Calculator(补)
  • 原文地址:https://www.cnblogs.com/wannengachao/p/13898529.html
Copyright © 2011-2022 走看看