为什么 kubernetes pod 显示 Back-off 重新启动失败的容器

Dol*_*hin 3 kubernetes

我想构建一个故障射击吊舱,这是我的 Dockerbuild 文件:

FROM alpine:3.11

MAINTAINER jiangxiaoqiang (jiangtingqiang@gmail.com)

ENV LANG=en_US.UTF-8 \
    LC_ALL=en_US.UTF-8 \
    TZ=Asia/Shanghai


RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
    && echo $TZ > /etc/timezone \
    && apk add --no-cache curl jq \
    nmap \
    bind-tools \
    busybox-extras \
    bash


CMD ["/bin/bash","-l"]
Run Code Online (Sandbox Code Playgroud)

但是当我在 kubernetes 集群中启动它时,它显示:Back-off restarting failed container,并且总是重新启动。这么简单的docker容器,为什么给我这个提示?这是描述输出:

[root@k8smaster ~]# kubectl describe pod ts-7d754488b9-jqqh9
Name:         ts-7d754488b9-jqqh9
Namespace:    default
Priority:     0
Node:         k8sslave2/192.168.31.31
Start Time:   Wed, 02 Sep 2020 12:28:48 -0400
Labels:       k8s-app=ts
              pod-template-hash=7d754488b9
Annotations:  cni.projectcalico.org/podIP: 10.11.125.135/32
Status:       Running
IP:           10.11.125.135
IPs:
  IP:           10.11.125.135
Controlled By:  ReplicaSet/ts-7d754488b9
Containers:
  ts:
    Container ID:   docker://0c810ed8f8ec1cde6c0249edde59fc28a169d5730e87c423403f802cd12df6dd
    Image:          registry.cn-shanghai.aliyuncs.com/jiangxiaoqiang/dolphin/k8s-ts:v0.0.1
    Image ID:       docker-pullable://registry.cn-shanghai.aliyuncs.com/jiangxiaoqiang/dolphin/k8s-ts@sha256:68edaed45c1fadee71abbe7bdaad23f2400f352f1b6309142689a197367f3ae9
    Port:           <none>
    Host Port:      <none>
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Wed, 02 Sep 2020 12:30:13 -0400
      Finished:     Wed, 02 Sep 2020 12:30:13 -0400
    Ready:          False
    Restart Count:  4
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-79w95 (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             False 
  ContainersReady   False 
  PodScheduled      True 
Volumes:
  default-token-79w95:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-79w95
    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/ts-7d754488b9-jqqh9 to k8sslave2
  Normal   Created    96s (x4 over 2m17s)  kubelet, k8sslave2  Created container ts
  Normal   Started    95s (x4 over 2m16s)  kubelet, k8sslave2  Started container ts
  Warning  BackOff    69s (x7 over 2m15s)  kubelet, k8sslave2  Back-off restarting failed container
  Normal   Pulling    54s (x5 over 2m17s)  kubelet, k8sslave2  Pulling image "registry.cn-shanghai.aliyuncs.com/jiangxiaoqiang/dolphin/k8s-ts:v0.0.1"
  Normal   Pulled     54s (x5 over 2m17s)  kubelet, k8sslave2  Successfully pulled image "registry.cn-shanghai.aliyuncs.com/jiangxiaoqiang/dolphin/k8s-ts:v0.0.1"
Run Code Online (Sandbox Code Playgroud)

Das*_*kar 5

容器完成意味着它完成了它的执行任务。如果您希望容器运行特定时间,请传递例如 。作为参数,或者您可以在部署文件中 sleep 3600使用。restartPolicy: Never

像这样的东西

spec:
  containers:
  - image: alpine
    command:
      - /bin/sh
      - "-c"
      - "sleep 60m"
    imagePullPolicy: Always
    restartPolicy: Never
    name: alpine
Run Code Online (Sandbox Code Playgroud)