故障排查
//查看Pod事件 kubectl describe TYPE NAME_PREFIX //查看Pod日志(Failed状态下) kubectl logs <POD_NAME> [-c Container_NAME] //进入Pod(状态为running,但是服务没有提供) kubectl exec –it <POD_NAME> bash //查看集群信息 kubectl get nodes //发现集群状态正常 kubectl cluster-info //查看kubelet日志发现 journalctl -xefu kubelet ##对节点执行维护操作: kubectl get nodes //将 Node 标记为不可调度的状态,这样就不会让新创建的 Pod 在此 Node 上运行 kubectl cordon <NODE_NAME> #该node将会变为SchedulingDisabled状态 //kubectl drain 可以让 Node 节点开始释放所有 pod,并且不接收新的 pod 进程。drain 本意排水,意思是将出问题的 Node 下的 Pod 转移到其它 Node 下运行 kubectl drain <NODE_NAME> --ignore-daemonsets --delete-local-data --force --ignore-daemonsets:无视 DaemonSet 管理下的 Pod。 --delete-local-data:如果有 mount local volume 的 pod,会强制杀掉该 pod。 --force:强制释放不是控制器管理的 Pod,例如 kube-proxy。 注:执行 drain 命令,会自动做了两件事情: (1)设定此 node 为不可调度状态(cordon) (2)evict(驱逐)了 Pod //kubectl uncordon 将 Node 标记为可调度的状态 kubectl uncordon <NODE_NAME>
标签:Node,kubectl,drain,故障,--,排查,Pod,K8S,pod From: https://www.cnblogs.com/fengxia6/p/17139687.html