kubernetes - kubectl get pods 返回不一致的结果
问题描述
当我执行时kubectl get pods
,我会为同一个 pod 获得不同的输出。
例如:
$ kubectl get pods -n ha-rabbitmq
NAME READY STATUS RESTARTS AGE
rabbitmq-ha-0 1/1 Running 0 85m
rabbitmq-ha-1 1/1 Running 9 84m
rabbitmq-ha-2 1/1 Running 0 50m
之后我执行相同的命令,这是不同的结果:
$ kubectl get pods -n ha-rabbitmq
NAME READY STATUS RESTARTS AGE
rabbitmq-ha-0 0/1 CrashLoopBackOff 19 85m
rabbitmq-ha-1 1/1 Running 9 85m
rabbitmq-ha-2 1/1 Running 0 51m
我有 2 个主节点和 5 个使用 kubeadm 初始化的工作节点。每个主节点都有一个运行在其上的内置 etcd pod 实例。
结果kubectl get nodes
:
$ kubectl get nodes -owide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
k8s-meb-master1 Ready master 14d v1.14.3 10.30.29.11 <none> Ubuntu 18.04.2 LTS 4.15.0-51-generic docker://18.9.5
k8s-meb-master2 Ready master 14d v1.14.3 10.30.29.12 <none> Ubuntu 18.04.2 LTS 4.15.0-51-generic docker://18.9.6
k8s-meb-worker1 Ready <none> 14d v1.14.3 10.30.29.13 <none> Ubuntu 18.04.2 LTS 4.15.0-51-generic docker://18.9.5
k8s-meb-worker2 Ready <none> 14d v1.14.3 10.30.29.14 <none> Ubuntu 18.04.2 LTS 4.15.0-51-generic docker://18.9.5
k8s-meb-worker3 Ready <none> 14d v1.14.3 10.30.29.15 <none> Ubuntu 18.04.2 LTS 4.15.0-51-generic docker://18.9.5
k8s-meb-worker4 Ready <none> 14d v1.14.2 10.30.29.16 <none> Ubuntu 18.04.2 LTS 4.15.0-51-generic docker://18.9.5
k8s-meb-worker5 Ready <none> 5d19h v1.14.2 10.30.29.151 <none> Ubuntu 18.04 LTS 4.15.0-20-generic docker://18.9.5
/var/lib/etcd/
这个问题是否与主节点中的不同步内容有关?
解决方案
您的 pod 处于CrashLoopBackoff
状态。这意味着 pod 内的一些容器正在退出(主进程退出),并且 pod 会一遍又一遍地重新启动。
根据您运行get po
命令的时间,您可能会看到您的 pod 为Running
(进程尚未退出)或CrashLoopBackoff
(kubernetes 在重新启动您的 pod 之前正在等待。
Restarts
您可以通过查看输出中的计数器来确认这种情况。
我建议您查看重新启动的 pod 日志,以了解它们失败的原因。
推荐阅读
- python - 如何找出上次按下哪个按钮 python tkinter
- python - 无法在 python 脚本中导入 google.cloud 模块
- python-3.x - 如何让 ZipFile 仅压缩指定目录 - Python 3
- azure - Azure iothub 设备孪生使用 golang 引发 InternalServerError
- bigtable - BigTable:2 次写入相同的密钥,但有 3 个版本
- assembly - 使用 file_name equ "a.txt" 后打开时出现 EFAULT 错误?
- java - 轮询状态更新的长任务
- java - 如何在 Java 中使用 DoublyLinkedList 编写添加/插入方法
- twisted - 如何在扭曲中使用 ALPN 协商收听特定的下一个协议?
- sql - 在 SQL 中跨列查找最大值