惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
Arctic Wolf
V
V2EX
P
Proofpoint News Feed
The Hacker News
The Hacker News
GbyAI
GbyAI
G
Google Developers Blog
S
Schneier on Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
W
WeLiveSecurity
Security Archives - TechRepublic
Security Archives - TechRepublic
博客园 - Franky
Recent Announcements
Recent Announcements
腾讯CDC
Hacker News - Newest:
Hacker News - Newest: "LLM"
K
Kaspersky official blog
U
Unit 42
Engineering at Meta
Engineering at Meta
J
Java Code Geeks
Google Online Security Blog
Google Online Security Blog
Last Week in AI
Last Week in AI
V
Vulnerabilities – Threatpost
N
News and Events Feed by Topic
O
OpenAI News
量子位
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Y
Y Combinator Blog
博客园 - 【当耐特】
Vercel News
Vercel News
Hacker News: Ask HN
Hacker News: Ask HN
T
Tor Project blog
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Security Blog
Microsoft Security Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
AWS News Blog
AWS News Blog
MongoDB | Blog
MongoDB | Blog
S
Security Affairs
A
About on SuperTechFans
Project Zero
Project Zero
D
Darknet – Hacking Tools, Hacker News & Cyber Security
博客园 - 聂微东
Webroot Blog
Webroot Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Cloudbric
Cloudbric
T
Tenable Blog
月光博客
月光博客
C
Check Point Blog
宝玉的分享
宝玉的分享
V
Visual Studio Blog
T
The Blog of Author Tim Ferriss
NISL@THU
NISL@THU

二叉树的博客

Ray 支持昇腾 NPU 的 KubeRay 对接记录 openEuler 22.03 arm64 离线包适配记录 在线 IDE 的通用容器镜像打包流程 麒麟 V10 安装时配置本地源 BKE 与 BMP 部署排障流程 containerd 允许 HTTP 镜像仓库拉取 Red Hat 8 amd64 离线依赖适配记录 通用docker容器镜像打包应用的流程 kubevirt初体验 kubevirt初体验 魔改dockur制作可迁移的Windows镜像(单文件) 魔改dockur制作可迁移的Windows镜像(单文件) 通过dockur制作可迁移的Windows镜像(双文件) 通过ProxmoxVE制作kubevirt可用的Windows镜像 通过dockur制作可迁移的Windows镜像(双文件) 通过ProxmoxVE制作kubevirt可用的Windows镜像 基于docker的在线IDE制作(支持浏览器直接访问) 基于docker的在线IDE制作(支持浏览器直接访问) k8s日常问题排障 jetbrains家的goland项目可用但老爆红 jetbrains家的goland项目可用但老爆红 机房本地服务器自建Gitea并使用 机房本地服务器自建Gitea并使用 nvidia-smi被自动升级无法与GPU通信了怎么办 conda使用GPU时的一些陷阱 给机房的LXD容器配置跳板机进行连接 在Pycharm上连接远程虚拟环境进行使用 给机房的Ubuntu22.04安装LXD共享GPU资源 给机房的Ubuntu22.04的Linux进行内穿映射端口
k8s日常问题排障
二叉树上的我 · 2025-02-25 · via 二叉树的博客

一般流程

需要确保无SWAP,否则kubelet起不来

然后需要

1
docker ps -a | grep etcd

看平面容器起来了没有,没有的话就得看容器日志排查问题

然后

看核心的namespace的pod有没有起来,有没有ready,有问题的pod名字就describe一下 下面所有示例都用kube-system作为查询的namespace,实际看你要查什么服务对应的namespace

1
kubectl describe pod license-xq13d -n kube-system

如果正常pull拉得到镜像,那就得查log

1
kubectl logs license-xq13d -n kube-system

如果pod有多个容器类型,比如有api的,有controller的,那就得-c指定容器类型

1
kubectl logs license-xq13d -c controller -n kube-system

有时候报错是一长串,得--tail 100

1
kubectl logs license-xq13d -n kube-system --tail 100

有时候得实时追踪,得-f

1
kubectl logs license-xq13d -n kube-system -f

类似的,也有命令实时看pod的

1
kubectl get pods -n kube-system -w

pod有可能因为调度器问题马上拉起来又被删了,执行这些命令查询查不到任何东西 这时得查job

1
kubectl get jobs -n kube-system

得查events

1
kubectl get events -n kube-system

有时候因为状态改变太快了,jobevents也得-w实时打印,操作后查看状态改变前后耗时以及出现了什么状态 有时候pod需要修改deploymentpull的镜像的版本(常见本地开发完备了要更新上集群测试),项目的manifest.yaml已经kubectl apply -f了 这时候就需要

1
kubectl get deployments -n kube-system

查询需要修改的pod名字对应的deployments名字 然后edit

1
kubectl edit deployment <deployment-name> -n kube-system

这时候起来的修改器类似vimvi,可用/查询,可用 上下查看查到的关键词,用exit退出编辑,用:wq写入修改和退出修改器 修改后使用命令:

1
kubectl get pods -n kube-system -w

查询对应的pod有没有被重建,有没有如期ready 如果未能如期起来和替换,那么手动delete掉pod,因为有设置spec.replicasdeployment中,所以会重建pod

1
kubectl delete pod license-xq13d -n kube-system

有时候需要本地开发,本地启动apicontroller,那么就需要集群中设置对应的服务的pod的副本数量修改为0,避免调度冲突

1
kubectl edit deployment <deployment-name> -n kube-system

在编辑器中找到spec.replicas字段并修改数值,然后保存退出(:wq)。 修改后使用以下命令监控副本数量变化:

1
kubectl get deployment <deployment-name> -n kube-system -w

1
kubectl get pods -n kube-system -l app=<app-label> -w

还有查node状态

一般的k8s运维看BUG这些足够了,更多的就得知道底层代码逻辑去判断了。