Netshoot Sidecar 容器 CrashLoopBackOff
Netshoot Sidecar container CrashLoopBackOff
我试图在同一个 pod 上使用 netshoot 图像和 Nginx 服务器图像。
如果我不在 netshoot 容器中包含睡眠参数,
args:
- sleep
- '9999999999999999999'
pod 状态总是变成 CrashLoopBackOff。我不明白为什么我必须将睡眠参数放入 netshoot 容器中的睡眠当前线程。容器是否必须包含应用程序服务器或 运行 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'
容器是命令的包装器,它们 运行 直到该命令退出。 netshoot 的默认命令是 zsh
。与其他 shell 一样,它们 运行 直到它们到达退出命令、信号中断它们或它们处理的输入 returns 一个 EOF。如果没有定义任何 stdin 输入,容器将立即到达该 EOF。
顺便说一句,容器的常见 noop 命令是 tail -f /dev/null
.
我试图在同一个 pod 上使用 netshoot 图像和 Nginx 服务器图像。
如果我不在 netshoot 容器中包含睡眠参数,
args:
- sleep
- '9999999999999999999'
pod 状态总是变成 CrashLoopBackOff。我不明白为什么我必须将睡眠参数放入 netshoot 容器中的睡眠当前线程。容器是否必须包含应用程序服务器或 运行 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'
容器是命令的包装器,它们 运行 直到该命令退出。 netshoot 的默认命令是 zsh
。与其他 shell 一样,它们 运行 直到它们到达退出命令、信号中断它们或它们处理的输入 returns 一个 EOF。如果没有定义任何 stdin 输入,容器将立即到达该 EOF。
顺便说一句,容器的常见 noop 命令是 tail -f /dev/null
.