代码之家  ›  专栏  ›  技术社区  ›  Snowcrash

为什么一个带有简单hello world图像的kubernetes pod会收到一个CrashLoopBackOff消息

  •  0
  • Snowcrash  · 技术社区  · 6 年前

    pod.yml

    apiVersion: v1
    kind: Pod
    metadata:
        name: hello-pod
        labels:
            zone: prod
            version: v1
    spec:
        containers:
        - name: hello-ctr
          image: hello-world:latest
          ports:
          - containerPort: 8080
    

    kubectl create -f pod.yml

    kubectl get pods
    NAME        READY     STATUS             RESTARTS   AGE
    hello-pod   0/1       CrashLoopBackOff   5          5m
    

    为什么? CrashLoopBackOff

    2 回复  |  直到 4 年前
        1
  •  3
  •   aurelius    6 年前

    在这种情况下,预期的行为是正确的。helloworld容器用于打印一些消息,然后在完成后退出。所以这就是为什么你 CrashLoopBackOff

    Kubernetes运行一个pod,里面的容器运行预期的命令,然后退出。

    突然,下面什么也没有运行-因此吊舱再次运行->同样的事情发生了 restarts 生长。

    你可以从中看到 kubectl describe pod 哪里 Terminated 状态可见 Reason 因为这是地位 Completed

        2
  •  0
  •   Rico    6 年前

    这个 hello-world CrashLoppBackOff . 当你 docker run 你的 你好,世界

    $ sudo docker run hello-world
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
     1. The Docker client contacted the Docker daemon.
     2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
        (amd64)
     3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
     4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.
    
    To try something more ambitious, you can run an Ubuntu container with:
     $ docker run -it ubuntu bash
    
    Share images, automate workflows, and more with a free Docker ID:
     https://hub.docker.com/
    
    For more examples and ideas, visit:
     https://docs.docker.com/get-started/
    $ 
    

    所以,这是一次性的,不是服务。库伯内特斯 Jobs CronJobs

    推荐文章