【问题标题】:Netshoot Sidecar container CrashLoopBackOffNetshoot Sidecar 容器 CrashLoopBackOff
【发布时间】:2021-11-27 15:23:57
【问题描述】:

我试图在同一个 pod 上使用 netshoot 镜像和 Nginx 服务器镜像。

如果我没有在 netshoot 容器中包含 sleep 参数,

args:
        - sleep
        - '9999999999999999999'

pod 状态总是变为 CrashLoopBackOff。我不明白为什么我必须将 sleep 参数放在 netshoot 容器中的 sleep 当前线程中。容器是否必须由应用程序服务器或运行的 jar 组成才能保持运行状态?我想我错过了关于容器运行机制的基本点。谢谢。

apiVersion: apps/v1
kind: Deployment
metadata:
  # Define the Deployment Name
  name: nginx-deployment
  labels:
    app: nginx
spec:
  # Define the Number of Pods
  replicas: 1
  # Define the Selector
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers: # Container Details
      - name: nginx
        image: nginx:latest # Image
        ports:
        - containerPort: 80
      - name: netshoot
        image: nicolaka/netshoot:latest
        args:
        - sleep
        - '9999999999999999999'

【问题讨论】:

    标签: kubernetes deployment containers sidecar


    【解决方案1】:

    容器是一个命令的包装器,它们一直运行到该命令退出。 netshoot 的默认命令是zsh。与其他 shell 一样,它们一直运行直到到达退出命令、信号中断它们或它们处理的输入返回 EOF。如果没有定义任何标准输入,容器将立即到达该 EOF。

    顺便说一句,容器的常用 noop 命令是 tail -f /dev/null

    【讨论】:

    • 谢谢。现在已经很清楚了。
    猜你喜欢
    • 2020-10-26
    • 2016-07-12
    • 1970-01-01
    • 2020-05-12
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 2020-05-21
    • 2022-01-15
    相关资源
    最近更新 更多