繁体   English   中英

如何在没有 http 端点的情况下保持 Kubernetes pod 运行? (防止后退)

[英]How do I keep a Kubernetes pod running with no http endpoint? (prevent back-off)

我有一个用例(至少现在)我需要一个 k8s pod 在没有 HTTP 或 TCP 端点的情况下熬夜。 我尝试了以下部署...

apiVersion: apps/v1
kind: Deployment
metadata: 
  name: node-deployment
  labels:
    app: node-app
spec: 
  selector: 
    matchLabels:
      app: node-app
  template:
    metadata:
      labels:
        app: node-app
    spec:
      containers:
      - name: node-server
        image: node:17-alpine
        exec:
            command: ["node","-v"]
        livenessProbe:
          exec:
            command: ["node","-v"]
          initialDelaySeconds: 5
          periodSeconds: 5  
        readinessProbe:
          exec:
            command: ["node","-v"]
          initialDelaySeconds: 5
          periodSeconds: 5  

但过了一会儿,它停止了 pod 并出现以下错误......

警告 BackOff 5s (x10 over 73s) kubelet, minikube Back-off 重启失败的容器

吊舱状态显示...

node-deployment-58445f5649-z6lkz 0/1 CrashLoopBackOff 5(103s 前)4m47s

我知道它正在运行,因为我在kubectl logs <node-name>中看到了版本。 如何让图像保持没有长时间运行的进程? 这甚至可能吗?

容器的进程简单地退出了,如果您在终端中运行node -v也会发生同样的情况。

不确定您提供的用例是否是您的真实用例(我看不出有任何理由将节点版本作为应用程序),所以..

如果你真的想拥有这个版本,你可以将命令更改为

["watch","-n1","node","-v"]

所以它会每秒打印一次节点版本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM