我目前正在使用Apache Pulsar,它是从本地Minikube集群上的舵图安装的。安装过程很顺利,Apache Pulsar运行得也很好。然而,每当我关闭/重新启动我的笔记本电脑时,我再也不能让所有的pod运行起来。我总是得到CrashLoopBackOff状态。在重启机器时,我尝试使用以下命令重启Pulsar集群(minikube start):
xyz-MBP:~ xyz$ minikube start
minikube v1.23.2 on Darwin 11.4
Kubernetes 1.22.2 is now available. If you would like to upgrade, specify: --kubernetes-version=v1.22.2
✨ Using the docker driver based on existing profile
Starting control plane node minikube in cluster minikube
Pulling base image ...
Restarting existing docker container for "minikube" ...
Preparing Kubernetes v1.19.0 on Docker 20.10.8 ...
Verifying Kubernetes components...
▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
▪ Using image kubernetesui/dashboard:v2.3.1
▪ Using image kubernetesui/metrics-scraper:v1.0.7
Enabled addons: storage-provisioner, default-storageclass, dashboard
❗ /usr/local/bin/kubectl is version 1.22.0, which may have incompatibilites with Kubernetes 1.19.0.
▪ Want kubectl v1.19.0? Try 'minikube kubectl -- get pods -A'
Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default现在,它看起来开始正常,但是当我稍后去查询pod的状态时,我得到了以下结果:
xyz-MBP:pulsar xyz$ kubectl get pods -n pulsar
NAME READY STATUS RESTARTS AGE
pulsar-mini-bookie-0 0/1 CrashLoopBackOff 8 25h
pulsar-mini-bookie-init-kqx6j 0/1 Completed 0 25h
pulsar-mini-broker-0 0/1 CrashLoopBackOff 8 25h
pulsar-mini-grafana-555cf54cf-jl5xp 1/1 Running 1 25h
pulsar-mini-prometheus-5556dbb8b8-k5v2v 1/1 Running 1 25h
pulsar-mini-proxy-0 0/1 Init:1/2 1 25h
pulsar-mini-pulsar-init-h78xk 0/1 Completed 0 25h
pulsar-mini-pulsar-manager-6c6889dff-r6tmk 1/1 Running 1 25h
pulsar-mini-toolset-0 1/1 Running 1 25h
pulsar-mini-zookeeper-0 1/1 Running 1 25h迷你代理永远不会离开初始化阶段,博彩经纪人和经纪人不断重试并立即进入CrashLoopBackOff。然后,在挖掘Bookie pod的日志时,我看到了以下不熟悉的异常:
01:15:10.164 [main] ERROR org.apache.bookkeeper.bookie.Bookie - Cookie for this bookie is not stored in metadata store. Bookie failing to come up
01:15:10.170 [main] ERROR org.apache.bookkeeper.server.Main - Failed to build bookie server另外,我从broker pod得到了一个异常:
01:21:44.733 [main-EventThread] ERROR org.apache.bookkeeper.proto.PerChannelBookieClient - Cannot connect to pulsar-mini-bookie-0.pulsar-mini-bookie.pulsar.svc.cluster.local:3181 as endpopint resolution failed上面的错误还有更多,但不想在这里转储整个日志。上面的错误是第一个出现的,我相信接下来的任何事情都是上面的余波……如果我弄错了,请告诉我!
发布于 2021-10-21 02:07:48
需要按特定顺序关闭群集,否则可能会损坏数据。试试这个:
如果这还不能解决问题,我需要查看日志,以便更好地了解容器无法启动的原因。
发布于 2021-10-21 05:39:08
解决方案:
kubectl日志pod-name --all-containers=true
开启stackdriver日志后,可以使用以下过滤器获取容器日志:
堆栈驱动程序V1:
Resource.type=“容器”
resource.labels.pod_id="$POD_NAME“
堆栈驱动程序V2:
resource.type="k8s_container“
resource.labels.pod_name="$POD_NAME“
kubectl描述pod "$POD_NAME"
如果您有stackdriver日志记录,则可以使用以下过滤器来获取pod事件日志:
堆栈驱动程序V1:
resource.type="gke_cluster“
LogName=“项目/$PROJECT_ID/日志/事件”
JsonPayload.reason=“不健康”
jsonPayload.involvedObject.name="$POD_NAME“
堆栈驱动程序V2:
resource.type="k8s_pod“
LogName=“项目/$PROJECT_ID/日志/事件”
JsonPayload.reason=“不健康”
resource.labels.pod_name="$POD_NAME“
此问题的根本原因: pod只是陷入了启动和崩溃的循环中。
https://stackoverflow.com/questions/69654792
复制相似问题