- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有以下设置:
docker hub 上的 docker 镜像 omg/telperion
一个 kubernetes 集群(有 4 个节点,每个节点有 ~50GB RAM)和大量资源
我按照教程将图像从 dockerhub 拉到 kubernetes
SERVICE_NAME=telperion
DOCKER_SERVER="https://index.docker.io/v1/"
DOCKER_USERNAME=username
DOCKER_PASSWORD=password
DOCKER_EMAIL="omg@whatever.com"
# Create secret
kubectl create secret docker-registry dockerhub --docker-server=$DOCKER_SERVER --docker-username=$DOCKER_USERNAME --docker-password=$DOCKER_PASSWORD --docker-email=$DOCKER_EMAIL
# Create service yaml
echo "apiVersion: v1 \n\
kind: Pod \n\
metadata: \n\
name: ${SERVICE_NAME} \n\
spec: \n\
containers: \n\
- name: ${SERVICE_NAME} \n\
image: omg/${SERVICE_NAME} \n\
imagePullPolicy: Always \n\
command: [ \"echo\",\"done deploying $SERVICE_NAME\" ] \n\
imagePullSecrets: \n\
- name: dockerhub" > $SERVICE_NAME.yaml
# Deploy to kubernetes
kubectl create -f $SERVICE_NAME.yaml
这会导致 pod 进入 CrashLoopBackoff
docker run -it -p8080:9546 omg/telperion
工作正常。
所以我的问题是可以调试吗?如果可以,我该如何调试?
一些日志:
kubectl get nodes
NAME STATUS AGE VERSION
k8s-agent-adb12ed9-0 Ready 22h v1.6.6
k8s-agent-adb12ed9-1 Ready 22h v1.6.6
k8s-agent-adb12ed9-2 Ready 22h v1.6.6
k8s-master-adb12ed9-0 Ready,SchedulingDisabled 22h v1.6.6
.
kubectl get pods
NAME READY STATUS RESTARTS AGE
telperion 0/1 CrashLoopBackOff 10 28m
.
kubectl describe pod telperion
Name: telperion
Namespace: default
Node: k8s-agent-adb12ed9-2/10.240.0.4
Start Time: Wed, 21 Jun 2017 10:18:23 +0000
Labels: <none>
Annotations: <none>
Status: Running
IP: 10.244.1.4
Controllers: <none>
Containers:
telperion:
Container ID: docker://c2dd021b3d619d1d4e2afafd7a71070e1e43132563fdc370e75008c0b876d567
Image: omg/telperion
Image ID: docker-pullable://omg/telperion@sha256:c7e3beb0457b33cd2043c62ea7b11ae44a5629a5279a88c086ff4853828a6d96
Port:
Command:
echo
done deploying telperion
State: Waiting
Reason: CrashLoopBackOff
Last State: Terminated
Reason: Completed
Exit Code: 0
Started: Wed, 21 Jun 2017 10:19:25 +0000
Finished: Wed, 21 Jun 2017 10:19:25 +0000
Ready: False
Restart Count: 3
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-n7ll0 (ro)
Conditions:
Type Status
Initialized True
Ready False
PodScheduled True
Volumes:
default-token-n7ll0:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-n7ll0
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: <none>
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
1m 1m 1 default-scheduler Normal Scheduled Successfully assigned telperion to k8s-agent-adb12ed9-2
1m 1m 1 kubelet, k8s-agent-adb12ed9-2 spec.containers{telperion} Normal Created Created container with id d9aa21fd16b682698235e49adf80366f90d02628e7ed5d40a6e046aaaf7bf774
1m 1m 1 kubelet, k8s-agent-adb12ed9-2 spec.containers{telperion} Normal Started Started container with id d9aa21fd16b682698235e49adf80366f90d02628e7ed5d40a6e046aaaf7bf774
1m 1m 1 kubelet, k8s-agent-adb12ed9-2 spec.containers{telperion} Normal Started Started container with id c6c8f61016b06d0488e16bbac0c9285fed744b933112fd5d116e3e41c86db919
1m 1m 1 kubelet, k8s-agent-adb12ed9-2 spec.containers{telperion} Normal Created Created container with id c6c8f61016b06d0488e16bbac0c9285fed744b933112fd5d116e3e41c86db919
1m 1m 2 kubelet, k8s-agent-adb12ed9-2 Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "telperion" with CrashLoopBackOff: "Back-off 10s restarting failed container=telperion pod=telperion_default(f4e36a12-566a-11e7-99a6-000d3aa32f49)"
1m 1m 1 kubelet, k8s-agent-adb12ed9-2 spec.containers{telperion} Normal Started Started container with id 3b911f1273518b380bfcbc71c9b7b770826c0ce884ac876fdb208e7c952a4631
1m 1m 1 kubelet, k8s-agent-adb12ed9-2 spec.containers{telperion} Normal Created Created container with id 3b911f1273518b380bfcbc71c9b7b770826c0ce884ac876fdb208e7c952a4631
1m 1m 2 kubelet, k8s-agent-adb12ed9-2 Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "telperion" with CrashLoopBackOff: "Back-off 20s restarting failed container=telperion pod=telperion_default(f4e36a12-566a-11e7-99a6-000d3aa32f49)"
1m 50s 4 kubelet, k8s-agent-adb12ed9-2 spec.containers{telperion} Normal Pulling pulling image "omg/telperion"
47s 47s 1 kubelet, k8s-agent-adb12ed9-2 spec.containers{telperion} Normal Started Started container with id c2dd021b3d619d1d4e2afafd7a71070e1e43132563fdc370e75008c0b876d567
1m 47s 4 kubelet, k8s-agent-adb12ed9-2 spec.containers{telperion} Normal Pulled Successfully pulled image "omg/telperion"
47s 47s 1 kubelet, k8s-agent-adb12ed9-2 spec.containers{telperion} Normal Created Created container with id c2dd021b3d619d1d4e2afafd7a71070e1e43132563fdc370e75008c0b876d567
1m 9s 8 kubelet, k8s-agent-adb12ed9-2 spec.containers{telperion} Warning BackOff Back-off restarting failed container
46s 9s 4 kubelet, k8s-agent-adb12ed9-2 Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "telperion" with CrashLoopBackOff: "Back-off 40s restarting failed container=telperion pod=telperion_default(f4e36a12-566a-11e7-99a6-000d3aa32f49)"
编辑 1:kubelet 在 master 上报的错误:
journalctl -u kubelet
.
Jun 21 10:28:49 k8s-master-ADB12ED9-0 docker[1622]: E0621 10:28:49.798140 1809 fsHandler.go:121] failed to collect filesystem stats - rootDiskErr: du command failed on /var/lib/docker/overlay/5cfff16d670f2df6520360595d7858fb5d16607b6999a88e5dcbc09e1e7ab9ce with output
Jun 21 10:28:49 k8s-master-ADB12ED9-0 docker[1622]: , stderr: du: cannot access '/var/lib/docker/overlay/5cfff16d670f2df6520360595d7858fb5d16607b6999a88e5dcbc09e1e7ab9ce/merged/proc/13122/task/13122/fd/4': No such file or directory
Jun 21 10:28:49 k8s-master-ADB12ED9-0 docker[1622]: du: cannot access '/var/lib/docker/overlay/5cfff16d670f2df6520360595d7858fb5d16607b6999a88e5dcbc09e1e7ab9ce/merged/proc/13122/task/13122/fdinfo/4': No such file or directory
Jun 21 10:28:49 k8s-master-ADB12ED9-0 docker[1622]: du: cannot access '/var/lib/docker/overlay/5cfff16d670f2df6520360595d7858fb5d16607b6999a88e5dcbc09e1e7ab9ce/merged/proc/13122/fd/3': No such file or directory
Jun 21 10:28:49 k8s-master-ADB12ED9-0 docker[1622]: du: cannot access '/var/lib/docker/overlay/5cfff16d670f2df6520360595d7858fb5d16607b6999a88e5dcbc09e1e7ab9ce/merged/proc/13122/fdinfo/3': No such file or directory
Jun 21 10:28:49 k8s-master-ADB12ED9-0 docker[1622]: - exit status 1, rootInodeErr: <nil>, extraDiskErr: <nil>
编辑 2:更多日志
kubectl logs $SERVICE_NAME -p
done deploying telperion
最佳答案
您可以使用
访问您的 pod 的日志kubectl logs [podname] -p
-p 选项将读取前一个(崩溃)实例的日志
如果崩溃来自应用程序,您应该有有用的日志。
关于bash - Kubernetes:如何调试 CrashLoopBackOff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44673957/
我的图片托管在 GCR 上。我想在我的本地系统 (mac) 上创建 Kubernetes 集群。 我遵循的步骤: 创建一个 imagePullSecretKey 创建通用 key 以与 GCP 通信。
当 Kubernetes Pod 进入 CrashLoopBackOff 状态时,您将修复根本问题。如何强制重新安排时间? 最佳答案 要应用新配置,应创建新 Pod(旧 Pod 将被删除)。 如果您的
我正在设置具有高可用性的kafka和zookeeper集群。我有2个kafka代理(pod1,pod2)和3个zookeeper(pod1,pod2,pod3)。设置工作正常。当我进入一个kafka经
我使用 Google Kubernetes Engine 并且故意在代码中添加了错误。我希望滚动更新会在发现状态为 CrashLoopBackOff 时停止,但事实并非如此。 在此 page , 他们
环境:(内部部署):- K8s-Master Server: Standalone Physical server. OS - CentOS Linux release 8.2.2004 (Core)
我无法在我的1个主节点群集上启动kube-apiserver。 kubelet继续尝试启动服务,但始终获得CrashLoopBackOff。 我试图使用docker run命令运行容器,并且得到以下日
虽然有一些像我一样的问题,但修复对我不起作用。 我正在使用 kubernetes v1.9.3 二进制文件并使用 flannel 和 calico 来设置 kubernetes 集群。应用 calic
Error from server: Get https://10.128.15.203:10250/containerLogs/default/postgres-54db6bdb8b-cmrsb/p
我正在使用kubeadm在CentOS 7.4 / Docker 1.12.6上创建kubernetes v1.9.3集群。 我正在按照Using kubeadm to Create a Cluste
我正在创建一个带有一个初始化容器的复制 Controller 。但是 init 容器无法启动并且 pod 的状态是: NAME READY STAT
我有以下设置: docker hub 上的 docker 镜像 omg/telperion一个 kubernetes 集群(有 4 个节点,每个节点有 ~50GB RAM)和大量资源 我按照教程将图像
我是 Kubernetes 的菜鸟。我正在尝试按照一些方法来启动并运行一个小集群,但是我遇到了麻烦...... 我有一个主节点和 (4) 个节点,都运行 Ubuntu 16.04 在所有节点上安装 d
我正在尝试将容器部署到 AKS,但 Pod 始终处于 CrashLoopBackOff 状态并重新启动。我尝试了不同的 Pod,但显然与这方面无关。 该 Pod 具有非常简单的功能行为,可以在本地正常
我有 2 个虚拟机节点。两者可以通过主机名(通过/etc/hosts)或通过 IP 地址相互查看。已将 kubeadm 配置为 master。另一个作为工作节点。按照说明( http://kubern
我按照以下指南使用 kubeadm 创建了一个 HA 集群: https://kubernetes.io/docs/setup/production-environment/tools/kubeadm
我是OpenWhisk的新手,在安装过程中遇到了一些困难。 由于Pod中的错误,Ngnix Pod正在CrashLoopBackOff中运行。 2018/07/02 16:14:27 [emerg]
我在 ubuntu 16.04 中设置了 kubernetes。我正在使用 kube 版本 1.13.1 并使用 weave 进行网络连接。我已经使用以下方法初始化了集群: sudo kubeadm
我定期看到容器 状态:终止 - OOMKilled (退出代码:137) 但是被调度到内存充足的节点 $ k get statefulset -n metrics NAME
我在 Kubernetes 1.0 中运行一个集群,我有一些容器我想定期运行,作为 pod 中的 sidecar 容器——通常是推送或拉取备份。我通过使用包含我想要备份的数据的容器和用于备份它的 si
我正在使用 kubernetes 集群使用 kubectl create -f dummy.yaml 部署图像。我的图像在 docker hub 中是公开的,图像大小为 1.3 GB。 图像拉取成功但
我是一名优秀的程序员,十分优秀!