我最近将 Docker for Mac 升级到 v18.06,并注意到它可以运行本地 k8s 集群。我很高兴尝试它并通过kubectl apply -f deployments/staging/tom.yml. yml 清单没有指定重启策略。然后我使用kubectl delete -f .... 从那时起,每次我启动 docker 时,该容器都会自动启动。这是 的输出docker ps,为简洁起见被截断
CONTAINER ID IMAGE COMMAND CREATED NAMES
2794eae1f31e b06778bfe205 "/bin/sh -c 'java -c…" 27 minutes ago k8s_tom-joiner_tom-joiner-66fcfd84bc...
8dd19dd65486 b06778bfe205 "/bin/sh -c 'java -c…" 27 minutes ago k8s_tom-loader_tom-loader-6cb9f7f4fb...
...
Run Code Online (Sandbox Code Playgroud)
但是,图像不是由 Kubernetes 管理的,所以我不能这样做 kubectl delete -f
kubectl get pods
No resources found.
Run Code Online (Sandbox Code Playgroud)
如何永久关闭图像并防止自动重新启动?我试过docker update --restart=no $(docker ps -a -q)没有运气
这取决于您的具体部署,但Kubernetes 规定
一个PodSpec有
restartPolicy可能的值字段Always,OnFailure和Never。默认值为Always。[...]
因此,如果您不希望 pod 因任何原因重启,则必须明确告诉它不要重启。您没有提供 YAML 文件的示例内容,因此我无法猜测最佳位置,但我认为这足以提供一般指导。
现在,对于您面临的问题:Docker 可能正在使用自定义命名空间。用
kubectl get namespaces
Run Code Online (Sandbox Code Playgroud)
看看你得到了什么,然后在这些命名空间中搜索 pods
kubectl -n <namespace> get pods
Run Code Online (Sandbox Code Playgroud)
或者,如果您不耐烦,请通过以下方式解决:
kubectl --all-namespaces get pods
Run Code Online (Sandbox Code Playgroud)
参考:kubectl 备忘单
| 归档时间: |
|
| 查看次数: |
9224 次 |
| 最近记录: |