首页 > 解决方案 > kubernetes 为 echo 服务器抛出 CrashLoopBackOff

问题描述

我想在我的 kubernetes 集群上部署启动镜像。

我在一个集群中有三个覆盆子

> kubectl version -o json                                                                                                                                                       ~
{
  "clientVersion": {
    "major": "1",
    "minor": "18",
    "gitVersion": "v1.18.2",
    "gitCommit": "52c56ce7a8272c798dbc29846288d7cd9fbae032",
    "gitTreeState": "clean",
    "buildDate": "2020-04-16T11:56:40Z",
    "goVersion": "go1.13.9",
    "compiler": "gc",
    "platform": "linux/arm"
  },
  "serverVersion": {
    "major": "1",
    "minor": "18",
    "gitVersion": "v1.18.2",
    "gitCommit": "52c56ce7a8272c798dbc29846288d7cd9fbae032",
    "gitTreeState": "clean",
    "buildDate": "2020-04-16T11:48:36Z",
    "goVersion": "go1.13.9",
    "compiler": "gc",
    "platform": "linux/arm"
  }
}
> docker -v                                                                                                                                                                     ~
Docker version 19.03.8, build afacb8b

> kubectl get node                                                                                                                                                              ~
NAME         STATUS   ROLES    AGE   VERSION
master-pi4   Ready    master   18h   v1.18.2
node1-pi4    Ready    <none>   17h   v1.18.2
node2-pi3    Ready    <none>   17h   v1.18.2

要尝试一下,我想部署简单的图像,但出现错误CrashLoopBackOff

> kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4

> kubectl get pods                                                                                                                                                              ~
NAME                          READY   STATUS             RESTARTS   AGE
hello-node-7bf657c596-wc5r4   0/1     CrashLoopBackOff   7          15m

描述对我来说也很神秘

kubectl describe pod hello-node                                                                                                                                               ~
Name:         hello-node-7bf657c596-wc5r4
Namespace:    default
Priority:     0
Node:         node1-pi4/192.168.188.11
Start Time:   Wed, 13 May 2020 15:02:10 +0200
Labels:       app=hello-node
              pod-template-hash=7bf657c596
Annotations:  <none>
Status:       Running
IP:           10.32.0.4
IPs:
  IP:           10.32.0.4
Controlled By:  ReplicaSet/hello-node-7bf657c596
Containers:
  echoserver:
    Container ID:   docker://841beb3a675963ecb40569439e0575a29c5b9f48aaa967da8c011faeafd96acc
    Image:          k8s.gcr.io/echoserver:1.4
    Image ID:       docker-pullable://k8s.gcr.io/echoserver@sha256:5d99aa1120524c801bc8c1a7077e8f5ec122ba16b6dda1a5d3826057f67b9bcb
    Port:           <none>
    Host Port:      <none>
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Wed, 13 May 2020 15:18:03 +0200
      Finished:     Wed, 13 May 2020 15:18:03 +0200
    Ready:          False
    Restart Count:  8
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-wvbzk (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             False 
  ContainersReady   False 
  PodScheduled      True 
Volumes:
  default-token-wvbzk:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-wvbzk
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason     Age                  From                Message
  ----     ------     ----                 ----                -------
  Normal   Scheduled  <unknown>            default-scheduler   Successfully assigned default/hello-node-7bf657c596-wc5r4 to node1-pi4
  Normal   Pulled     15m (x5 over 16m)    kubelet, node1-pi4  Container image "k8s.gcr.io/echoserver:1.4" already present on machine
  Normal   Created    15m (x5 over 16m)    kubelet, node1-pi4  Created container echoserver
  Normal   Started    15m (x5 over 16m)    kubelet, node1-pi4  Started container echoserver
  Warning  BackOff    112s (x70 over 16m)  kubelet, node1-pi4  Back-off restarting failed container

我错过了什么?

标签: kubernetes

解决方案


这可能是因为此映像与 ARM 架构不兼容。

您应该改用此图像k8s.gcr.io/echoserver-arm:1.8


推荐阅读