【Kubernetes】K8s 查看 Pod 的状态

这篇具有很好参考价值的文章主要介绍了【Kubernetes】K8s 查看 Pod 的状态。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

[root@k8s-master1 ~]# kubectl get pods
NAME      READY   STATUS    RESTARTS      AGE
nginx-3   1/1     Running   2 (34m ago)   14h
  • NAME:Pod 的名称。
  • READY:代表 Pod 里面有几个容器,前面是启动的,后面是总数, 1 / 1 1/1 1/1
  • STATUS:就是当前 Pod 状态,最常见的就是 Running 正在运行,最期望的状态,只要不是 Running 的就说明有问题,就算是 Running 的就不一定没有问题。
状态
说明
Pending
挂起
在执行创建 Pod 过程中,命令行已经执行,Pod 已经被 K8s 系统接受,但仍有一个或多个容器未被创建,可以通过 kubectl describe 查看处于 Pending 状态的原因。
Running
运行中
Pod 已经被绑定到一个节点上,并且所有的容器都已经被创建,而且至少有一个是运行状态,或者是正在启动或者重启,可以通过 kubectl logs 查看 Pod 的日志。
Succeeded
成功
所有容器执行成功并终止,并且不会再次重启,可以通过 kubectl logs 查看 Pod 的日志
Failed
失败
至少有一个容器没有正常退出,以失败告终,在 Linux 上每个命令都有个状态值和信号值,状态值正常是 0 − 255 0-255 0255 之间,正常状态值为 0 0 0,容器的创建状态只要是非 0 0 0 就是异常的。
Unknown
未知
通常是是通信出问题了,不知道状态是啥通常是 Uknown
imagePullBackOffErrimagePull
镜像拉取失败
镜像拉取失败,一般是由于镜像不存在、网络不通或者需要登录认证引起的,可以使用 describe 命令查看具体原因。
CrashLoopBackOff
容器启动失败
容器启动失败,有可能是打的镜像文件本身就有问题,不能正常来启动,可以通过 logs 命令查看具体原因,一般为启动命令不正确,健康检查不通过等。
OOMKilled
内存溢出
内存溢出,运行的容器本身出现内存溢出,Tomcat JVM 栈基于 JVM 做各种各样的内存限制,对容器本身要做资源限制,一旦容器本身资源不够了,我们对这个容器本身资源限制和 JVM 那种内存冲突了,比如 JVM 需要 4 个 G,结果容器只给 2 个 G,那这样就出现内存溢出,不够用;还有一种方式,程序本身有问题,JVM 和容器内存限制都够用,还是内存溢出了。JVM 本身给的内存不够用造成的报错叫 OOM 内存溢出错误,一旦出现这种错误,容器或者程序本身会自动 kill 掉,程序一旦自己把自己 kill 掉意味着容器就没了,这个 OOM 就是容器里面的程序内存溢出了,一般是内存限制设置太小。
Terminating
终止
Pod 正在被删除,可以通过 describe 查看状态。
SysctlForbidden
内核启动失败
和 Linux 内核相关,在启动 Pod 的时候加了一些内核的需求,但是没有开放需求,就会造成内核启动失败。
Completed
主进程退出
容器内部主进程退出, 一般计划任务执行结束会显示该状态。
ContainerCreateing
创建容器
Pod 正在创建, 一般为正在下载镜像, 或者有配置不当的地方, 可以通过 describe 查看具体原因。
[root@k8s-master1 ~]# kubectl describe pods nginx-3
Name:             nginx-3
#pod名字
Namespace:        default
#Namespace
Priority:         0
#优先级
Service Account:  default
#默认使用default 
Node:             k8s-node1.guoguo.com/192.168.1.101
#绑定的节点node1
Start Time:       Sun, 06 Aug 2023 17:32:26 +0800
#创建的时间
Labels:           app=nginx
#标签,如果我们没有加标签,会自动加一个标签。如果是pod通常是run=pod名称
                  env=dev
Annotations:      cni.projectcalico.org/containerID: 
#资源注解
a121ada4cbabc46e302ba38008a7d6887f8f4035c8b42f781233f4fa3013bd96
                  cni.projectcalico.org/podIP: 192.26.131.132/32
                                        #pod的ip
                  cni.projectcalico.org/podIPs: 192.26.131.132/32
Status:           Running
#当前状态
IP:               192.26.131.132
#pod ip
IPs:
  IP:  192.26.131.132
Containers:
  nginx:
    Container ID:   containerd://57a204528d873a006134dcb7e58739b6adcbbd1b299d4b7e4984c451d47af86c
    Image:          harbor.guoguo.com/apps/ubuntu-nginx:1.22.1
    #镜像
    Image ID:       harbor.guoguo.com/apps/ubuntu-nginx@sha256:8818a74320ea5451b340d47faadba66cc9f582c9b734526c65076808412803a1
    Port:           80/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Mon, 07 Aug 2023 07:24:36 +0800
    Last State:     Terminated
      Reason:       Unknown
      Exit Code:    255
      Started:      Sun, 06 Aug 2023 21:17:40 +0800
      Finished:     Mon, 07 Aug 2023 07:23:29 +0800
    Ready:          True
    Restart Count:  2
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-9lwkh (ro)
Conditions:
  Type              Status
  #类型           #状态
  Initialized       True
  #初始化          #成功
  Ready             True
  #准备           #成功
  ContainersReady   True
  #容器准备         #成功
  PodScheduled      True
  #pod调度        #成功
Volumes:
#卷组
  kube-api-access-9lwkh:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
#服务类 
Node-Selectors:              <none>
#没有节点选择                 #为none就说明没有给Node-selectors提特殊的节点选择
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:                      <none>

文章来源地址https://www.toymoban.com/news/detail-791953.html

到了这里,关于【Kubernetes】K8s 查看 Pod 的状态的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【云原生 | Kubernetes 系列】K8s 实战 如何给应用注入数据 II 将pod数据传递给容器

    在上一篇文章中,我们学习了针对容器设置启动时要执行的命令和参数、定义相互依赖的环境变量、为容器设置环境变量,三种设置方式,本篇文章,我们将继续学习数据的传递。 有两种方式可以将 Pod 和 Container 字段传递给运行中的容器: 环境变量 卷文件 这两种呈现 Pod

    2024年01月25日
    浏览(37)
  • kubernetes(k8s) pod(资源限制、基础概念)

    目录  一、资源限制 1、概念 1.2、Pod和容器的资源请求和限制 1.3、CPU资源单位 1.4、内存资源单位 1.5、CPU和内存的Requests和Limits的特点 1.6、案例 二、pod 的两种使用方式 三、pod 资源共享 四、底层容器Pause 1、pause 共享资源 1.1、网络 1.2、存储 1.3、小结 2、Pause主要功能 3、Pod

    2024年02月05日
    浏览(30)
  • Kubernetes(k8s)核心资源解析:Pod详解

    💖The Begin💖点点关注,收藏不迷路💖 Pod是Kubernetes中最小的调度单元,它可以包含一个或多个容器。Pod中的所有容器共享网络和存储卷,它们一起运行在同一个节点上。Pod提供了一种抽象层,使得容器可以作为一个逻辑单元来管理。 Pod中的容器共享IP地址、端口空间和存储

    2024年04月11日
    浏览(30)
  • K8s Pod状态与容器探针

    Pod创建过程如上图所示,首先用户向apiserver发送创建pod的请求,apiserver收到用于创建pod请求后,对应会对该用户身份信息进行验证,该用户是否是合法的用户,是否具有创建pod的权限,如果能够通过apiserver的验证,则进行下一步,对用户提交的资源进行准入控制,所谓准入控

    2024年02月07日
    浏览(52)
  • Kubernetes(k8s):精通 Pod 操作的关键命令

    💖The Begin💖点点关注,收藏不迷路💖 Kubernetes 是一个强大的容器编排平台,其中的核心概念之一就是 Pod。Pod 是 Kubernetes 中最小的可部署单元,它由一个或多个容器组成,共享网络和存储资源。 在本篇博客中,我们将深入探讨 Kubernetes 集群中与 Pod 相关的一些重要命令,帮

    2024年04月14日
    浏览(18)
  • K8S第四讲 Kubernetes删除pod阻塞问题

    在Kubernetes中,当您尝试删除一个Pod时,可能会遇到Pod一直阻塞的情况。这通常是由于Pod正在运行或被其他资源(例如ReplicaSet或Deployment)控制而导致的。以下是一些可能的解决方案: 1: 确认Pod是否正在运行:在执行删除Pod命令之前,请先检查Pod的状态,确保它没有在运行中

    2024年02月05日
    浏览(32)
  • Kubernetes(k8s):Pod 的 Node Selector详解

    💖The Begin💖点点关注,收藏不迷路💖 Node Selector是Kubernetes中一个用于指定Pod部署位置的重要概念。通过Node Selector,用户可以将Pod调度到具有特定标签的节点上。 这种标签通常用于区分节点的硬件配置、地理位置、网络特性等。通过合理地设置Node Selector,用户可以优化应用

    2024年04月08日
    浏览(54)
  • 【Kubernetes】 从基础认识 k8s核心pod相关概念

    提示:此篇帮助朋友们,养成从0到1不断延伸知识的一种方法 最简单的创建pod入手 访问官方文档,直接使用案例,进行修改即可! 官网地址:https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/assign-pods-nodes/ 删除不需要的部分,根据规则添加需要的参数即可得到需要的,代码如

    2024年01月25日
    浏览(28)
  • K8s(Kubernetes)学习(三):pod概念及相关操作

    摘取官网: https://kubernetes.io/zh-cn/docs/concepts/workloads/pods/#working-with-pods 1.1 简介 Pod 是可以在 Kubernetes 中 创建和管理的、最小的可部署的计算单元 。 Pod (就像在鲸鱼荚或者豌豆荚中) 是一组(一个或多个)容器 ; 这些容器共享存储、网络、以及怎样运行这些容器的声明。 P

    2024年02月13日
    浏览(51)
  • k8s快速查看pod对应的容器

    环境: centos 7.6 k8s 1.20 我们知道,在k8s中最小基本单位是pod,而一个pod里面可以封装一个或多个容器,而在宿主机上容器的名字并不是pod的名字,所以,下面的方式可以快速的查看一个pod里面对应宿主机哪些容器:

    2024年02月07日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包