可以通过describe查看pod的运行状态:

kubectl  describe xxxPodId

如果容器没有异常重启过,看到的内容如下:

Containers:
  em-tm-analysis:
    Container ID:   docker://f4a1b0f40eee1b2bbaa1e1ffb7c46c17f728d03620518044166065f7815a027e
    Image:          xxxx:16.21.10.B6.n2103221134
    Image ID:       docker-pullable://xxx@sha256:b9b002ae4997275be990406a53b26db57289e85098c6824ea05537e9ed69f128
    Port:           13206/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Thu, 08 Apr 2021 21:44:59 +0800
    Ready:          True
    Restart Count:  0          '重启次数0'
    
Events:          <none>


其中重启次数为0,并且没有“Last State”标签

如果出现异常重启过,看到的内容如下:

Containers:
  em-tm-analysis:
    Container ID:   docker://7162621e2116b8092cf18b18ce53d4332ce1aeb2ff27661bd524a607033e6210
    Image:          xxxx:16.21.10.B6.n2103221134
    Image ID:       docker-pullable://xxxx@sha256:b9b002ae4997275be990406a53b26db57289e85098c6824ea05537e9ed69f128
    Port:           13206/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Mon, 26 Apr 2021 11:02:51 +0800
    Last State:     Terminated          '此时新增标签 Last State,记录上次异常退出的原因'
      Reason:       Error
      Exit Code:    137
      Started:      Thu, 08 Apr 2021 21:44:59 +0800
      Finished:     Mon, 26 Apr 2021 11:02:50 +0800
    Ready:          True
    Restart Count:  1          '重启次数1'

Events:
  Type    Reason   Age                From                         Message
  ----    ------   ----               ----                         -------
  Normal  Pulling  18s (x2 over 17d)  kubelet, 2021-205-26-290--5  Pulling image "xxxxx:16.21.10.B6.n2103221134"
  Normal  Pulled   18s (x2 over 17d)  kubelet, 2021-205-26-290--5  Successfully pulled image "xxxxx:16.21.10.B6.n2103221134"
  Normal  Created  18s (x2 over 17d)  kubelet, 2021-205-26-290--5  Created container em-tm-analysis
  Normal  Started  18s (x2 over 17d)  kubelet, 2021-205-26-290--5  Started container em-tm-analysis

此时新增标签 Last State,记录上次异常退出的原因,并且Restart Count值为1,如果下次再次异常退出,那么会累加。

注意:当容器由于异常被强行终止,会由k8s创建一个全新的容器,而不是重启原来的容器。

退出代码为137,含义:表示该进程由外部信号终止。数字137=128+x,其中x是终止进程的信号编码。在这个例子中,x等于9,这个是SIGKILL的信号编号,意味着这个进程被强行终止。

底部events列出了容器为什么终止,奇怪是这里并没显示原因,只是记录了重新拉起的过程。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐