GKE:节点重新启动/pods 丢失

GKE : node restarted / pods missing

美好的一天,

运行 单节点集群。注意到一夜之间我所有的 pods 都不见了。

kubectl get events

什么都没给我。

检查节点

# kubectl get no
NAME                            STATUS    AGE
gke-sg-etl-4ff0f964-node-jny8   Ready     20d

检查节点上的容器我注意到有些系统容器只运行了 21 小时,而有些则需要 2 周:

CONTAINER ID        IMAGE                                                                  COMMAND                  CREATED             STATUS              PORTS               NAMES
b451ef51174d        gcr.io/google_containers/glbc:0.6.0                                    "/glbc --default-back"   21 hours ago        Up 21 hours                             k8s_l7-lb-controller.96ad8505_l7-lb-controller-v0.6.0-keutx_kube-system_5ecb8fe7-0054-11e6-a3f3-42010af0003e_9af0cd81
86483feba88c        gcr.io/google_containers/defaultbackend:1.0                            "/server"                21 hours ago        Up 21 hours                             k8s_default-http-backend.33869026_l7-lb-controller-v0.6.0-keutx_kube-system_5ecb8fe7-0054-11e6-a3f3-42010af0003e_1fffdcaf
73bc0bbd18a1        gcr.io/google_containers/pause:2.0                                     "/pause"                 21 hours ago        Up 21 hours                             k8s_POD.364e00d5_l7-lb-controller-v0.6.0-keutx_kube-system_5ecb8fe7-0054-11e6-a3f3-42010af0003e_6b0f3678
95f0bdb6b87c        gcr.io/google_containers/exechealthz:1.0                               "/exechealthz '-cmd=n"   21 hours ago        Up 21 hours                             k8s_healthz.2bec1471_kube-dns-v11-ce2vc_kube-system_1c42c00f-0056-11e6-a3f3-42010af0003e_4e729ced
efde9c110e3c        gcr.io/google_containers/skydns:2015-10-13-8c72f8c                     "/skydns -machines=ht"   21 hours ago        Up 21 hours                             k8s_skydns.66853ac4_kube-dns-v11-ce2vc_kube-system_1c42c00f-0056-11e6-a3f3-42010af0003e_10c173ea
0db98a8b6b83        gcr.io/google_containers/kube2sky:1.14                                 "/kube2sky --domain=c"   21 hours ago        Up 21 hours                             k8s_kube2sky.4e15015f_kube-dns-v11-ce2vc_kube-system_1c42c00f-0056-11e6-a3f3-42010af0003e_23182cb4
c103d90e1bd9        gcr.io/google_containers/etcd-amd64:2.2.1                              "/usr/local/bin/etcd "   21 hours ago        Up 21 hours                             k8s_etcd.6d563523_kube-dns-v11-ce2vc_kube-system_1c42c00f-0056-11e6-a3f3-42010af0003e_987562c7
3b21c42444de        gcr.io/google_containers/pause:2.0                                     "/pause"                 21 hours ago        Up 21 hours                             k8s_POD.e2764897_kube-dns-v11-ce2vc_kube-system_1c42c00f-0056-11e6-a3f3-42010af0003e_08f0734a
7e642f5a1fe0        gcr.io/google_containers/kubernetes-dashboard-amd64:v1.0.0             "/dashboard --port=90"   21 hours ago        Up 21 hours                             k8s_kubernetes-dashboard.deca92bd_kubernetes-dashboard-v1.0.0-whzec_kube-system_19ab34c7-0056-11e6-a3f3-42010af0003e_433eec1f
2d0f5f11ad65        gcr.io/google_containers/pause:2.0                                     "/pause"                 21 hours ago        Up 21 hours                             k8s_POD.3a1c00d7_kubernetes-dashboard-v1.0.0-whzec_kube-system_19ab34c7-0056-11e6-a3f3-42010af0003e_0dfc9856
c210ea10b8ea        gcr.io/google_containers/heapster:v1.0.0                               "/heapster --source=k"   21 hours ago        Up 21 hours                             k8s_heapster.ce50f137_heapster-v1.0.0-el2r7_kube-system_1994710e-0056-11e6-a3f3-42010af0003e_b63303ac
a449b69dd498        gcr.io/google_containers/pause:2.0                                     "/pause"                 21 hours ago        Up 21 hours                             k8s_POD.6059dfa2_heapster-v1.0.0-el2r7_kube-system_1994710e-0056-11e6-a3f3-42010af0003e_3a238507
b9eaaa1cae94        gcr.io/google_containers/fluentd-gcp:1.18                              "/bin/sh -c '/usr/sbi"   2 weeks ago         Up 2 weeks                              k8s_fluentd-cloud-logging.fe59dd68_fluentd-cloud-logging-gke-sg-etl-4ff0f964-node-jny8_kube-system_da7e41ef0372c29c65a24b417b5dd69f_dd3f0627

我知道节点可能已经重启了。

我从哪里可以了解为什么会发生这种情况?我的解释是这是正常的,但我还是想了解一下(pods 是 "pets",而不是 "cattle")。

我怀疑这是由于机器重启造成的,因为那时我希望 fluentd-gcp 也重新启动。

在这种情况下,您可以探索一些途径,但我没有一个总能告诉您答案的单一答案。以下是您可以尝试的一些方法:

  • 运行 kubectl get pods -a,这将 return 所有 pods 包括不再 运行ning 的。如果 pods 必须由他们的控制器重新创建,您应该能够看到终止状态 不再 运行ning 的那些。
  • SSH 到节点并 运行 last | grep boot 查看上次启动的时间。
  • SSH 到节点并 运行 docker ps -a 查看所有容器,包括那些已经停止 运行ning 的容器。如果有一些停止 运行ning,请使用 docker logsdocker inspect.
  • 调查它们
  • SSH 到节点并调查 /var/log/kubelet.log 文件以查看它是否有关于 pods 为何重新启动的任何提示。