Skip to main content

node

Node 状态异常,如何排查? 使用 kubectl get nodes 命今查看集群中所有节点的状态和信息,判断是否存在故障。 便用 kubect1 describe node [node_name] 命令童看目标节点的详细信息,包括 CPU、内存、磁盈等硬件资源的使用情况,判断是否存在性能瓶颈。 便用 kubectl get pods -o wide --a11-namespaces 命今查看集群中所有 Pod 的状态信息,判断是否有 Pod 运行在目标节点上导致资源紧张,

Node 上运行的 Pod 无法访问网络,如何排童? 使用 kubectl describe node [node name]命令童看目标节点的信息,检意节点是否正常连接到风络, 使用 kubectl describe pod [podname] -n [namespace_name]命令查看 Pod 所运行的节点信息,判断是否因为节点状态异常导致网路访问失败。 便用 kubectl logs [pod_name] -n [namespace_name]命令查看 Pod 客酷的日志信息,寻找可能的错误或异常信息,

Node 上的 Pod 无法访问存储,如何排查? 使用 kubectl describe pod [podname] -n [namespace_name] 命令检查 Pod 的 volumes 配置信息,判断是否存在存馆挂我失败的情况, 使用 kubectl exec -it [pod_name] -n [namespace_name] -- /bin/bash 命令进入Pod 所在的容器,尝试便用 ls 和 cat 等命令访问挂執的文件系 統,判断是否存在读写错误, 使用 kubect1 describe persistentvolumeclaim [pvc_name] -n [namespace_name]命令查看相关 PVC 配置和状态信息,判断是否存在故隨,

存储卷挂载失败,如何处理?

使用 kubectl describe pod [pod name] -n [namespace_name] 命令检查 Pod 的 volumes 配置信息,判断是否存在存储卷定义错误,

使用 kubectl describe persistentvolumeclaim [pvc- name] -n [namespace_name]命令检童 PVC 的状态和信息,判断是否存在存储配额不足或存储资源故障等原因。

如果是 NFS 或 Ceph 等网络存储,需要确认网络连接是否正第,以及存储般务器的服务是否正第。

Node 节点加入Kubernetes 集群后无法被调度,怎么办?

检查该节点的 taints 和 tolerations 是否与 Pod的 selector 匹配

检查该节点的资源便用情况是否满足 Pod 的调度要求

确保该节点与 Kubernetes APl server 的连接正常

Kubernetes 集群中的 PersistentVolume 挂载失败,怎么办? 检直 PersistentVolume 和 Pod 之间的匹配关系是否正确 檢查 PersistentVolumeClaim 中的 storageclassName 是否与 PersistentVolume 的storageclassName 匹配 检查节点存储配置和 PersistentVolume 的定义是否正确 自动供给层面的权限是否已经给到位

集群层面问题及排查:

集群中很多 Pod 运行緩慢,如何排查? 便用 kubect1 top pod -n [namespace.name]命令查看所有 Pod 的 CPU 和内存便用情況,判断是否存在资源瓶颈。 使用 kubectl get nodes 和 kubect1 deseribe node [node_name]命令查看所有节点的资源使用情況,判断是否存在单个节点资源紧张的情况。 便用 kubectl logs [pod_name] -n [namespace_name] 命令查看Pod 容器的日志信息,寻找可能的错误或异常信息。

集群中某个服务不可用,如何排查? 使用 kubectl get pods -n [namespace_name] 命令查看相关服务的所有 Pod 的状态信息,判断是否存在故障, 使用 kubect1 describe pod [podname] -n [namespace_name]命令检查 Pod 的网络连接和存储访问等问题,寻找故隨原因。 使用 kubectl describe service [service_name] -n [namespace_name]命令查看服务的配置和状态信息,判断是否存在故道,

集群中的 Node 和 Pod 不平街,如何排查? 便用 kubectl get nodes 和 kubectl get pods -o wide --a1l-namespaces 命令查看所有 Node 和 Pod 的状态信息,判断是否存在分布不均的情况。 使用 kubectl top pod -n [namespace_name]命令直看所有 Pod 的 CPU 和內存便用情况,判断是否存在资源瓶预导致 Pod 分布不均。 使用 kubectl describe pod [podname] -n [namespace_name] 命令查看 Pod 所运行的节点信息,并使用 kubect1 describe node [node_name] 命 令查看相关节点的状态信惠,判断是否存在节点不平街的情况。 使用 kubectl describe pod / node [node_name]查看当前Pod /Node上是否有相关的亲和或反亲和策略号致固定调度。

集群中某个节点宕机,如何处理? 使用 kubectl get nodes 命令检查节点状态,找到异常节点。 使用 kubectl drain [node_name] --ignore-daemonsets 命令将节点上的 Pod%&逐出去,并将其部餐到其他节点上。添加 --ignore-daemonsets 参数 可以忽略 DaemonSet 资源。 如果需要对节点进行维护或醬换硬件,则使用 kubect1 delete node [node_name]命令删除该节点。此时该节点上运行的 Pod 会自动调度到其他节点上。

Kubernetes APl Server 不可用,如何排童? 使用 kubectl cluster-info 命令直看集詳状态,判断是否存在 API Server 不可用的情况。 便用 kubectl version 命令查看集群版本,确认 Kubernetes API Server 和 kubelet 版本是否匹配。 使用 Systemctl Status kube-apiserver 命令检查 API Server 运行状态,确认是否存在故隨或错误。 结合apiServer所在的节点查看系统层面的日志,进一步定位问题点。

Kubernetes 命令执行失败,怎么办?

检查 Kubernetes APl server 是否可用:kubect1 cluster-info
检查当前用户对集群的权限是否足够:kubectl auth can-i <verb> <resource>
檢查 kubeconfig 文件中的登聚信息是否正确:kubect1 config view

Kubernetes master 节点不可用,怎么办? 检查 kube-apiserver、 kube-scheduler、 kube-controller-manager 是否都在运行状态 檢直 etcd 存储系統是否可用 尝试重新启动 master 节点上的 kubelet 和容器运行时

Kubernetes 集群统过了 LoadBalancer,直接访问 Pod,怎么办? 检查 Service 和 Pod 的通信是否使用了 ClusterlP 类型的 Service 确认该 Service 的 selector 是否匹配到了正确的 Pod

Kubernetes 集群中的 Deployment 自动更新失败,怎么办? 检查更新策略是否设置正确,如 ro11ingupdate 或 recreate 检查 Kubernetes APl server 和 kubelet 之间的连接是否正常 检查 Pod 的定义是否正确

Kubernetes 集群中的状态检查销误,怎么办? 检查节点日志和事件信息,井确认错误类型 确认该状态检查是否与 kubelet 的版本兼容 尝试升級 kubelet 和容酷运行时等组件

Kubernetes 集群中的授权配置有误,怎么办? 检查 RoleBinding 和 ClusterRoleBinding 定义是否正确 检查用户或服务账号所绑定的角色是否正确 检查 kubeconfig 文件中的用户和访问权限是否正确

Kubernetes 集群无法连接 etcd 存储系統,怎么办? 检查 etcd 存储系统是否正常运行 检查 kube-apiserver 配置文件中 etcd 的连接信息是否正确 尝试手动连接 etcd 集群,如执行 etcdctl cluster-health