k8s基本排错的方法
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"k8s基本排错的方法",在日常操作中,相信很多人在k8s基本排错的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"k8s基本排错的方法"的疑惑有所帮
千家信息网最后更新 2026年11月02日k8s基本排错的方法
这篇文章主要介绍"k8s基本排错的方法",在日常操作中,相信很多人在k8s基本排错的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"k8s基本排错的方法"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
k8s基本排错
在排错过程中,kubectl 是最重要的工具,通常也是定位错误的起点。这里也列出一些常用的命令,在后续的各种排错过程中都会经常用到。
排错概览
查看 Pod 状态以及运行节点
kubectl get pods -o widekubectl -n kube-system get pods -o wide
查看 Pod 事件
kubectl describe pod
查看 Node 状态
kubectl get nodeskubectl describe node
kube-apiserver 日志
PODNAME=$(kubectl -n kube-system get pod -l component=kube-apiserver -o jsonpath='{.items[0].metadata.name}')kubectl -n kube-system logs $PODNAME --tail 100#以上命令操作假设控制平面以 Kubernetes 静态 Pod 的形式来运行。如果 kube-apiserver 是用 systemd 管理的,则需要登录到 master 节点上,然后使用 journalctl -u kube-apiserver 查看其日志。kube-controller-manager 日志
PODNAME=$(kubectl -n kube-system get pod -l component=kube-controller-manager -o jsonpath='{.items[0].metadata.name}')kubectl -n kube-system logs $PODNAME --tail 100#以上命令操作假设控制平面以 Kubernetes 静态 Pod 的形式来运行。如果 kube-controller-manager 是用 systemd 管理的,则需要登录到 master 节点上,然后使用 journalctl -u kube-controller-manager 查看其日志。kube-scheduler 日志
PODNAME=$(kubectl -n kube-system get pod -l component=kube-scheduler -o jsonpath='{.items[0].metadata.name}')kubectl -n kube-system logs $PODNAME --tail 100#以上命令操作假设控制平面以 Kubernetes 静态 Pod 的形式来运行。如果 kube-scheduler 是用 systemd 管理的,则需要登录到 master 节点上,然后使用 journalctl -u kube-scheduler 查看其日志。kube-dns 日志
kube-dns 通常以 Addon 的方式部署,每个 Pod 包含三个容器,最关键的是 kubedns 容器的日志:
PODNAME=$(kubectl -n kube-system get pod -l k8s-app=kube-dns -o jsonpath='{.items[0].metadata.name}')kubectl -n kube-system logs $PODNAME -c kubednsKubelet 日志
Kubelet 通常以 systemd 管理。查看 Kubelet 日志需要首先 SSH 登录到 Node 上,推荐使用 kubectl-node-shell而不是为每个节点分配公网 IP 地址。比如:
[root@localhost ~]# cat kubectl-node_shell#!/bin/shif [ -z "$1" ]; then echo "Please specify node name" exit 1fiNODE="$1"IMAGE="alpine"POD="nsenter-$(env LC_CTYPE=C tr -dc a-z0-9 < /dev/urandom | head -c 6)"NAMESPACE=""# Check the nodekubectl get node "$NODE" >/dev/null || exit 1OVERRIDES="$(cat < chmod +x ./kubectl-node_shellsudo mv ./kubectl-node-shell /usr/local/bin/kubectl-node_shell[root@localhost ~]# ./kubectl-node_shell localhost.localdomainspawning "nsenter-i71opm" on "localhost.localdomain"If you don't see a command prompt, try pressing enter.[root@localhost /]# journalctl -l -u kubeletKube-proxy 日志
Kube-proxy 通常以 DaemonSet 的方式部署,可以直接用 kubectl 查询其日志
$ kubectl -n kube-system get pod -l component=kube-proxyNAME READY STATUS RESTARTS AGEkube-proxy-42zpn 1/1 Running 0 1dkube-proxy-7gd4p 1/1 Running 0 3dkube-proxy-87dbs 1/1 Running 0 4d$ kubectl -n kube-system logs kube-proxy-42zpnui小工具
kubectl apply --namespace weave -f "https://cloud.weave.works/k8s/scope.yaml?k8s-version=$(kubectl version | base64 | tr -d '\n')"kubectl patch svc $(kubectl get svc -n weave |grep weave-scope-app |awk '{print $1}') -p '{"spec":{"type": "NodePort"}}' -n weave效果图:
到此,关于"k8s基本排错的方法"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
日志
方法
节点
命令
学习
登录
管理
运行
平面
形式
静态
控制
容器
工具
方式
更多
状态
过程
帮助
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网金融科技
上海挚品互联网科技有限公司
喔噻互联网科技有限公司
伟宏互联网科技
美国互联网保险保险科技
猪兼强互联网科技
互联网科技集团
撒么互联网科技公司
成都仁贤领冠互联网科技有限公司
天速互联网络科技有限公司
江阴互联网智能科技产品进口
移动互联网年度科技创新
佛山市拉法互联网科技有限公司
上海同邻互联网科技有限公司规模
全球科技与互联网公司市值变化
云鲸互联网络科技有限公司
互联网时代科技型公司的机会
互联网科技职业技能培训学校
北京品多多互联网科技有限公司
网互联网络科技
手磨咖啡
华服互联网科技怎么样
湖南永感互联网科技有限公司
科技企业和互联网企业
互联网科技类展会
互联网科技数字货币
互联网科技包装股
唯美互联网科技
玉溪新华互联网科技怎么选
亚光科技低轨卫星互联网