k8s基本排错的方法
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍"k8s基本排错的方法",在日常操作中,相信很多人在k8s基本排错的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"k8s基本排错的方法"的疑惑有所帮
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
计算机应用 网络技术方向
山西潮流软件开发服务推广
pg数据库怎么实现分类汇总
为什么需要云服务器
nginx服务器缓存
分布式数据库 麒麟
dos操作数据库
西安易点网络技术有限公司
服务器端口管理
创建数据库的指令关键词是
部落冲突十四本数据库
惠普连接管理服务器
穿越服务器
软件工程软件开发成本
服务器市场份额2016
vm虚拟化服务器sn码怎么查
网络安全态势感知预警系统
新一代深圳软件开发
广西南宁易唐软件开发
临沂顺商网络技术服务有限公司
关系和非关系数据库rdf
猎信网络技术有限公司
软件开发毕业论文立题
腾讯云服务器怎么搭v2
软件开发定制开发标准
山东省网络安全活动
网络安全 国家预算
网络安全态势感知预警系统
网络安全是本质在什么
列名无效 vs c 数据库