k8s和docker常用命令笔记
1.分布式训练时查看显卡占用情况,其中distributed-training-0是容器名。
kubectl exec -it distributed-training-0 -- nvidia-smi
2.k8s查看容器的log:
kubectl logs pod_name
3.使用以下命令删除Pod:
kubectl delete pod <pod-name>
例如:
kubectl delete pod distributed-training-0
kubectl delete pod distributed-training-1
kubectl delete pod distributed-training-2
如果这些 Pod 是由 Deployment、ReplicaSet、StatefulSet (Deployment和StatefulSet的联系与区别)等控制器管理的,它们会在删除后自动重建。要避免自动重建,可以先删除或暂停对应的控制器资源。
4.删除控制器资源(如 Deployment 或 StatefulSet):
kubectl delete deployment <deployment-name>
kubectl delete statefulset <statefulset-name>
5.暂停控制器(如果你不想彻底删除):
kubectl scale deployment <deployment-name> --replicas=0
这样可以有效防止 Pod 自动重建。
6.可以使用以下命令来查看所有 Deployment 和 StatefulSet 的名称:
查看 Deployment 名称:
kubectl get deployments -A
这会列出所有命名空间的 Deployment,包含 NAME、READY、UP-TO-DATE 等状态信息。
#查看 StatefulSet 名称:
kubectl get statefulsets -A
这同样会列出所有命名空间的 StatefulSet 及其基本状态信息。
如果只想查看特定命名空间(例如 default 命名空间)中的资源,可以这样:
kubectl get deployments -n default
kubectl get statefulsets -n default