-- SRETALK 9月14日 k8s更新了1.28.2版本,这更新速度杠杠的,你们还在用什么版本,停留在1.18-1.20的小伙伴举个手 --k8s k8s故障排查常用方式 在Kubernetes中排查故障是一个常见但有时复杂的任务 以下是常用的方式和方法,可以帮排查Kubernetes中的故障: 查看Pod状态和事件: 使用 kubectl get pods 命令来获取Pod的状态。 排查资源限制: 检查Pod的资源请求和限制,确保资源分配合理。 使用 kubectl top pods 和 kubectl top nodes 命令来查看资源使用情况。 升级和维护: 确保Kubernetes集群和应用程序组件处于最新版本,因为某些故障可能已在较新的版本中修复。 在排查故障时,重要的是有系统地方法来分析问题,从Pod级别到节点级别,甚至到集群级别。同时,建议使用自动化工具来监视和报警,在故障发生时快速采取措施,以减少影响。
基本上,排查systemd的问题,我用到了四个方法,(调试级别)日志,core dump,代码分析,以及live debugging。
集群的空间(默认为2G的磁盘使用空间),或者压缩老数据,升级空间后,需要使用 etcd命令,取消此报警信息,否则集群依旧无法使用解决方案一:增加etcd的容量修改 etcd.yaml 文件,由2G-->8G auto-compaction-retention=1000 保留近1000个revision,每5分钟自动压缩 ”latest revision” - 1000quota-backend-bytes 设置etcd最大容量为8G
网络问题故障排查 一、服务器网络卡慢 参考文档https://cloud.tencent.com/document/product/213/14633 1、检查本地访问域名速度 https://itango.tencent.com DNS是否生效情况 nslookup 地址 5、使用MTR分析网络延迟及丢包 https://cloud.tencent.com/document/product/213/14638 二、CDN网络访问故障 CDN网络故障原因排查https://cloud.tencent.com/document/product/228/59530 1、检查CDN是否生效以及是否需要刷新预热 https://cloud.tencent.com
⼀般包括以下⼏项,也可以将此理解为排查顺序:业务⽇志分析排查APM分析排查物理环境排查应⽤服务排查云⼚商或运营商问题排查1.1 业务⽇志分析排查这个没啥说的,看日志不会吗? 1.2 APM分析排查APM,全称Application Performance Management,应⽤性能管理在分布式系统中,需要用到APM进行全链路分析⽬前市场上使⽤较多的链路跟踪⼯具有如下⼏个 情况,找到读写异常的进程⽹络分析使⽤dstat、vmstat等命令查看⽹络流量、TCP连接等情况,分析异常流量1.4 应⽤服务排查应⽤排查,排查应⽤本身最有可能引发的问题,针对各种场景进⾏对应分析CPU 分析使⽤jstack等命令进⾏JVM分析内存分析使⽤jmap等命令分析内存使⽤情况1.5 云⼚商或运营商问题排查排查到了这⼀步的话,只需关注云⼚商或运营商官⽅公告即可。 其中,定位排查问题时最为常⽤命令包括:jps(进程)、jmap(内存)、jstack(线程)、jinfo(参数)等。
前提 当我们收到反馈说数据库响应慢或者压测过程中数据库有报错,第一步先收集数据库服务器资源使用情况,这一步是处理所有故障的前提。 备节点故障: 通过网络及数据库日志信息,判断节点故障原因,并尽快恢复主备节点之间的复制关系,当故障无法快速解决时,建议修改数据库参数来改变主库Xlog保留大小。
any-name: my-app spec: containers: - name: cont1 image: learnk8s ports: - port: 80 targetPort: 8080 selector: name: app --- apiVersion: networking.k8s.io any-name: my-app spec: containers: - name: cont1 image: learnk8s - port: 80 targetPort: 8080 selector: any-name: my-app --- apiVersion: networking.k8s.io Pod故障排除 在大多数情况下,问题出在Pod本身。 您应该确保Pod正在运行并准备就绪。 您如何检查?
擅长数据库故障处理。对数据库技术和 python 有着浓厚的兴趣。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 ---前言最近解决了一个比较基础的问题故障,由于排查过程挺有意思,于是就以此为素材写出了本篇文章。故障现场防火墙什么的均正常但是无法被远程访问到。简单的使用客户端登录了一下。 ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)根据以往经验大脑中浮现了几个常见的排查此类故障手法1.排查进程存在 [root@wx ~]# ps -ef|grep [m]ysql mysql 25973 1 1 8月30 ? 解决方案因为配置 skip-grants-tables 引起无法远程连接 mysql 服务端的故障,解决方法也是非常的简单注释重启。
---- 前言 最近解决了一个比较基础的问题故障,由于排查过程挺有意思,于是就以此为素材写出了本篇文章。 故障现场 防火墙什么的均正常但是无法被远程访问到。简单的使用客户端登录了一下。 ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111) 根据以往经验大脑中浮现了几个常见的排查此类故障手法 1. 排查进程存在 [root@wx ~]# ps -ef|grep [m]ysql mysql 25973 1 1 8月30 ? 排查端口绑定情况,居然没有绑定端口 [root@wx ~]# lsof -i:3308 [root@wx ~]# ss -nltp|grep 3308 3. 本文关键字:#故障排查# ---- 文章推荐: 技术分享 | 国产麒麟 arm 上编译安装 xtrabackup8 技术分享 | MySQL 会受到“Unix千年虫“的影响吗 技术分享 | MHA-MasterFailover
问题排查 上面错误信息可以通过 journalctl -u kubelet -f 或者 tail -f /var/log/messages 命令查看到。 kubelet 默认把一些数据信息存放在 /var/lib/kubelet 目录下,通过 Pod Id,能查找到 9e6d9bdd-1554-45e6-8831-53e83f8ea263 pod 挂载的数据 # 查看 pods 下面数据 $ ls /var/lib/kubelet/pods/9e6d9bdd-1554-45e6-8831-53e83f8ea263/ containers etc-hosts # 删除 9e6d9bdd-1554-45e6-8831-53e83f8ea263 目录 $ cd /var/lib/kubelet/pods/ $ rm -rf 9e6d9bdd-1554-45e6 -8831-53e83f8ea263 现在在通过 journalctl -u kubelet -f 命令看kubelet日志,就没有 Orphaned pod found - but volume paths
一些VM-to-VM的报文无法到达其它节点 要对此进行排查,首先需要搞清楚这是控制平面问题还是数据平面问题。对于控制平面问题,以下命令将是最有用的。 (这在诸如以kubectl描述pod的各个地方都可以看到) networkPlugin cni failed to set up pod "coredns-5644d7b6d9-p8fkk_kube-system
数据库故障排查的基本概念 数据库故障排查是指通过系统化的方法识别、分析和解决数据库运行过程中出现的问题。故障可能表现为性能下降、数据丢失、连接失败等。 常见数据库故障类型 性能问题:查询速度慢、资源占用高。 连接问题:无法连接数据库、连接超时。 数据一致性问题:数据丢失、数据损坏。 配置问题:参数设置不当、权限配置错误。 # 示例:查看MySQL慢查询日志 SHOW VARIABLES LIKE 'slow_query_log'; 性能问题的排查步骤 检查系统资源使用情况,确认是否存在资源瓶颈。 -- 示例:查看MySQL当前连接数 SHOW STATUS LIKE 'Threads_connected'; 数据一致性问题的排查步骤 检查备份和恢复策略,确保数据可恢复。 总结 数据库故障排查是一个系统化的过程,需要结合工具和方法,逐步分析和解决问题。通过掌握常见的故障类型和排查步骤,可以有效提高数据库的稳定性和性能。
upstream timed out (10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond) while reading response header from upstream
链接: https://blog.devgenius.io/linux-troubleshoot-network-latency-a6da740f5cb8
在日常使用中,经常会出现无法连通的情况,这个时候我们就需要找到问题出在哪里,这里面给各位提供一个生产环境排查网络故障的大体思路,一般情况下如果遇到网络故障,都是通过筛选的方式一点一点的确定问题所在,首先判断是本机的问题还是网络上其它设备的问题 [root@zutuanxue ~]# ethtool -i ens33 driver: e1000 version: 7.3.21-k8-NAPI firmware-version: expansion-rom-version 124.65.56.141) 16.020ms Too many hops: pmtu 1000 Resume: pmtu 1000 八、硬件故障
Xshell连接故障排雷指南(SSH典型问题汇总)一、SSH连接超时(ConnectionTimedOut)常见原因服务器未开机或SSH服务未启动IP地址或端口号错误防火墙/安全组未放行22端口网络不通 (路由、防火墙、VLAN隔离)排查步骤确认网络连通性展开代码语言:BashAI代码解释ping服务器IP确认SSH服务状态展开代码语言:BashAI代码解释systemctlstatussshd确认端口监听展开代码语言 permanent&&firewall-cmd--reload二、连接被拒绝(ConnectionRefused)常见原因SSH服务未启动SSH端口被修改但Xshell未同步SSH被TCPWrapper拒绝排查命令展开代码语言 grepPort展开代码语言:BashAI代码解释systemctlrestartsshd三、用户名或密码错误(AccessDenied)常见原因用户名拼写错误密码错误或账号被锁定Root账号禁止远程登录排查方式展开代码语言 etc/ssh/sshd_configsystemctlrestartsshd七、快速自检清单IP是否正确端口是否开放SSH服务是否运行防火墙/安全组是否放行密钥与权限是否正确八、总结XshellSSH故障排查应遵循网络
发生错包的原因有很多,但是一般都是由于网线或者网卡等硬件故障造成。如果你的服务器在换了机房或者网络发生了变更之后,延迟明显增加。这个时候你就要怀疑是不是网卡丢包或者是错包引起的了。 这些包的长度都达到了 8K 大小,为什么没有分片呢? 原因就在于系统开启了 TSO(TCP Segment Offload) 特性。
面试经常会被问到java应用出现了问题,如何排查,主要使用下面几个命令基本都能解决 执行top命令,查看所有进程占用cpu的排序 执行top -Hp pid,查看java进程下的所有线程占用cpu的情况
原文:https://blog.devgenius.io/linux-troubleshoot-network-latency-a6da740f5cb8 在 Linux 服务器中,可以通过内核调优、DPDK
Hello folks,我是 Luga,今天我们来分享一款用于 Kubernetes Cluster 故障排查的开源工具 - Robusta (罗布斯塔)。 作为一个用于多集群 Kubernetes 监控、故障排除和自动化的开源平台,就像 Docker 用于部署应用程序的基础设施即代码一样,Robusta 用于维护 Kubernetes Cluster 应用程序和处理其警报的基础设施即代码 — 01 — Robusta 概述 作为一款用于 Kubernetes Cluster 故障排查的开源平台,其本质是为了弄清楚我们当前所构建的 Kubernetes Cluster 的健康状况,并针对所出现的告警行为进行合理解释以及给予我们相关修复建议 我们可以看到,整个 Robusta 架构的核心围绕“自动化引擎”进行开展,具体涉及如下组件: 1、Robusta-Forwarder 此组件主要连接到 APIServer 并监控 K8s 4、Web UI 此组件为可选项,我们可以依据实际的情况,进行 Web UI 配置,基于此,能够为我们提供一个单一的管理面板来观测跨多个 K8s Cluster 的所有警报和 Pod