如何调试 minikube 错误?
How to debug minikube errors?
我正在尝试 运行 使用 Cassandra 数据库的 pod,下面是它的部署描述:
- apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: cassandra
namespace: test
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 2
selector:
matchLabels:
app: cassandra
template:
metadata:
labels:
app: cassandra
spec:
containers:
- env:
- name: MAX_HEAP_SIZE
value: 1024M
- name: HEAP_NEWSIZE
value: 1024M
image: cassandra:3.10
name: cassandra
ports:
- containerPort: 9042
protocol: TCP
pod 已创建,然后进入 CrashLoopBackOff。当我尝试 kubectl describe
时,我看到的是:
Name: cassandra-6b5f5c46cf-zpwlx
Namespace: test
Node: minikube/192.168.99.102
Start Time: Thu, 18 Jan 2018 15:26:05 +0200
Labels: app=cassandra
pod-template-hash=2619170279
Annotations: kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"test","name":"cassandra-6b5f5c46cf","uid":"22f28f45-fc53-11e7-ae64-08002798f...
Status: Running
IP: 172.17.0.7
Controlled By: ReplicaSet/cassandra-6b5f5c46cf
Containers:
cassandra:
Container ID: docker://b3477788391622145350e870c00e19561ee662946aa5a307cc8bea28fc874544
Image: cassandra:3.10
Image ID: docker-pullable://cassandra@sha256:af21476b230507c6869d758e4dec134886210bd89d56deade90bc835a1c0af37
Port: 9042/TCP
State: Terminated
Reason: Error
Exit Code: 137
Started: Thu, 18 Jan 2018 15:26:26 +0200
Finished: Thu, 18 Jan 2018 15:26:28 +0200
Last State: Terminated
Reason: Error
Exit Code: 137
Started: Thu, 18 Jan 2018 15:26:11 +0200
Finished: Thu, 18 Jan 2018 15:26:14 +0200
Ready: False
Restart Count: 2
Environment:
MAX_HEAP_SIZE: 1024M
HEAP_NEWSIZE: 1024M
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-77lfg (ro)
Conditions:
Type Status
Initialized True
Ready False
PodScheduled True
Volumes:
default-token-77lfg:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-77lfg
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: <none>
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 28s default-scheduler Successfully assigned cassandra-6b5f5c46cf-zpwlx to minikube
Normal SuccessfulMountVolume 28s kubelet, minikube MountVolume.SetUp succeeded for volume "default-token-77lfg"
Normal Pulled 7s (x3 over 27s) kubelet, minikube Container image "cassandra:3.10" already present on machine
Normal Created 7s (x3 over 27s) kubelet, minikube Created container
Normal Started 6s (x3 over 27s) kubelet, minikube Started container
Warning BackOff 4s (x2 over 18s) kubelet, minikube Back-off restarting failed container
Warning FailedSync 4s (x2 over 18s) kubelet, minikube Error syncing pod
错误报告完全没有用:它只是一些通用消息,没有说明问题。
pod 的描述中有一个可疑的段落:volumes。我没有要求为这个容器安装任何卷。但是,经过网络搜索,我认为这个容器中挂载的东西只是Kubernetes如何工作的一些技术方面,没有实际意义。
无论如何:我怎样才能从 minikube 获得更多关于它试图做什么以及失败的信息?
您的 pod 处于 CrashLoopBackoff
状态。这意味着您的 pod 内的容器正在终止执行,kubernetes 正在尝试再次 运行 它,但它再次终止,给您一个 Crash Loop
.
我建议您通过 运行ning 查看容器的输出:
kubectl -n test logs -f cassandra-6b5f5c46cf-zpwlx
那应该是 cassandra 的输出并且应该解释 cassandra 不是 运行ning 的原因。
我正在尝试 运行 使用 Cassandra 数据库的 pod,下面是它的部署描述:
- apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: cassandra
namespace: test
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 2
selector:
matchLabels:
app: cassandra
template:
metadata:
labels:
app: cassandra
spec:
containers:
- env:
- name: MAX_HEAP_SIZE
value: 1024M
- name: HEAP_NEWSIZE
value: 1024M
image: cassandra:3.10
name: cassandra
ports:
- containerPort: 9042
protocol: TCP
pod 已创建,然后进入 CrashLoopBackOff。当我尝试 kubectl describe
时,我看到的是:
Name: cassandra-6b5f5c46cf-zpwlx
Namespace: test
Node: minikube/192.168.99.102
Start Time: Thu, 18 Jan 2018 15:26:05 +0200
Labels: app=cassandra
pod-template-hash=2619170279
Annotations: kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"test","name":"cassandra-6b5f5c46cf","uid":"22f28f45-fc53-11e7-ae64-08002798f...
Status: Running
IP: 172.17.0.7
Controlled By: ReplicaSet/cassandra-6b5f5c46cf
Containers:
cassandra:
Container ID: docker://b3477788391622145350e870c00e19561ee662946aa5a307cc8bea28fc874544
Image: cassandra:3.10
Image ID: docker-pullable://cassandra@sha256:af21476b230507c6869d758e4dec134886210bd89d56deade90bc835a1c0af37
Port: 9042/TCP
State: Terminated
Reason: Error
Exit Code: 137
Started: Thu, 18 Jan 2018 15:26:26 +0200
Finished: Thu, 18 Jan 2018 15:26:28 +0200
Last State: Terminated
Reason: Error
Exit Code: 137
Started: Thu, 18 Jan 2018 15:26:11 +0200
Finished: Thu, 18 Jan 2018 15:26:14 +0200
Ready: False
Restart Count: 2
Environment:
MAX_HEAP_SIZE: 1024M
HEAP_NEWSIZE: 1024M
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-77lfg (ro)
Conditions:
Type Status
Initialized True
Ready False
PodScheduled True
Volumes:
default-token-77lfg:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-77lfg
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: <none>
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 28s default-scheduler Successfully assigned cassandra-6b5f5c46cf-zpwlx to minikube
Normal SuccessfulMountVolume 28s kubelet, minikube MountVolume.SetUp succeeded for volume "default-token-77lfg"
Normal Pulled 7s (x3 over 27s) kubelet, minikube Container image "cassandra:3.10" already present on machine
Normal Created 7s (x3 over 27s) kubelet, minikube Created container
Normal Started 6s (x3 over 27s) kubelet, minikube Started container
Warning BackOff 4s (x2 over 18s) kubelet, minikube Back-off restarting failed container
Warning FailedSync 4s (x2 over 18s) kubelet, minikube Error syncing pod
错误报告完全没有用:它只是一些通用消息,没有说明问题。
pod 的描述中有一个可疑的段落:volumes。我没有要求为这个容器安装任何卷。但是,经过网络搜索,我认为这个容器中挂载的东西只是Kubernetes如何工作的一些技术方面,没有实际意义。
无论如何:我怎样才能从 minikube 获得更多关于它试图做什么以及失败的信息?
您的 pod 处于 CrashLoopBackoff
状态。这意味着您的 pod 内的容器正在终止执行,kubernetes 正在尝试再次 运行 它,但它再次终止,给您一个 Crash Loop
.
我建议您通过 运行ning 查看容器的输出:
kubectl -n test logs -f cassandra-6b5f5c46cf-zpwlx
那应该是 cassandra 的输出并且应该解释 cassandra 不是 运行ning 的原因。