最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

kubernetes

旗下网站admin14浏览0评论

kubernetes

kubernetes

Bgu*_*ess 6

希望您享受您的 Kubernetes 之旅!

实际上,使用 kubectl get pod 时的 AGE 标头会显示您的pod已创建多长时间并且正在运行。但不要混淆 POD 和容器:

标头“RESTARTS”实际上链接到 pod 清单的参数 > '.status.containerStatuses[0].restartCount'。这意味着此标头与重新启动的次数相关联,而不是与 pod 相关,而是与 pod 内的容器相关。

这是一个示例:我刚刚部署了一个新 pod:

NAME READY STATUS RESTARTS AGEtest-bg-7d57d546f4-f4cql 2/2 Running 0 9m38s

如果我检查这个 pod 的 yaml 配置,我们可以看到在“status”部分我们有所说的“restartCount”字段:

? k get po test-bg-7d57d546f4-f4cql -o yamlapiVersion: v1kind: Podmetadata:...spec:...status:... containerStatuses: ... - containerID: docker://3f53f140f775416644ea598d554e9b8185e7dd005d6da1940d448b547d912798 ... name: test-bg ready: true restartCount: 0 ...

所以,为了证明我在说什么,我将连接到我的 pod 并终止我的 pod 正在运行的主进程:

? k exec -it test-bg-7d57d546f4-f4cql -- bashI have no name!@test-bg-7d57d546f4-f4cql:/tmp$ ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND1000 1 0.0 0.0 5724 3256 ? Ss 03:20 0:00 bash -c source /tmp/entrypoint.bash1000 22 1.5 0.1 2966140 114672 ? Sl 03:20 0:05 java -jar test-java-bg.jar1000 41 3.3 0.0 5988 3592 pts/0 Ss 03:26 0:00 bash1000 48 0.0 0.0 8588 3260 pts/0 R+ 03:26 0:00 ps auxI have no name!@test-bg-7d57d546f4-f4cql:/tmp$ kill 22I have no name!@test-bg-7d57d546f4-f4cql:/tmp$ mand terminated with exit code 137

在此之后,如果我重新执行“kubectl get pod”命令,我得到了这个:

NAME READY STATUS RESTARTS AGEtest-bg-7d57d546f4-f4cql 2/2 Running 1 11m

然后,如果我回到我的 yaml 配置,我们可以看到 restartCount 字段实际上链接到我的容器而不是我的 pod。

? k get po test-bg-7d57d546f4-f4cql -o yamlapiVersion: v1kind: Podmetadata:...spec:...status:... containerStatuses: ... - containerID: docker://3f53f140f775416644ea598d554e9b8185e7dd005d6da1940d448b547d912798 ... name: test-bg ready: true restartCount: 1 ...

因此,总而言之,RESTARTS标头为您提供容器的 restartCount 而不是 pod 的,但AGE标头为您提供 pod 的年龄。

这一次,如果我删除 pod:

? k delete pod test-bg-7d57d546f4-f4cqlpod "test-bg-7d57d546f4-f4cql" deleted

我们可以看到,restartCount 回到了 0,因为它是一个全新时代的全新 pod:

NAME READY STATUS RESTARTS AGEtest-bg-7d57d546f4-bnvxx 2/2 Running 0 23stest-bg-7d57d546f4-f4cql 2/2 Terminating 2 25m

对于您的示例,这意味着容器重新启动了 14 次,但 pod 是在 17 小时前部署的。

我找不到这方面的确切文档,但是(正如这里解释的那样:https ://kubernetes.io/docs/concepts/workloads/_print/#working-with-pods ):“注意:重新启动容器Pod 不应与重新启动 Pod 混淆。Pod 不是进程,而是运行容器的环境。Pod 一直存在,直到被删除。

希望这有助于您更好地理解。这是来自kubernetes.io/docs/reference/kubectl/cheatsheet/的一个小提示:kubectl get pods --sort-by='.status.containerStatuses[0].restartCount'重新启动计数:p)

再见

kubernetes

发布评论

评论列表(0)

  1. 暂无评论