[TimLinux] k8s 故障分析全集

摘要:
节点NotReadyTraints:Node.kubenetes。io/无法访问:NoExecutenode。kubernetes Io/不可访问:NoSchedule解决方案:查看kube控制器管理器、kube调度器、kube apiserver、kube代理等的日志,所有日志都显示:来自服务器的错误(内部
节点NotReady

Traints:

  • node.kubernetes.io/unreachable:NoExecute
  • node.kubernetes.io/unreachable:NoSchedule

解决办法:

  1. 查看 kube-controller-manager, kube-scheduler, kube-apiserver, kube-proxy 等的日志,都显示:
Error from server (InternalError): Internal error occurred: Authorization error 
(user=kube-apiserver-kubelet-client, verb=get, resource=nodes, subresource=proxy)
  1. 尝试登陆进去看下:
# kubectl -n kube-system exec -it kube-proxy-xxxx sh
error: unable to upgrade connection: Authorization error
(user=kube-apiserver-kubelet-client, verb=create, resource=nodes, subresource=proxy)
  1. 查看其它节点都 Kube-proxy 日志
kubectl -n kube-system logs kube-proxy-xxx
...
endpoints is forbidden: User "system:serviceaccount:kube-system:kube-proxy" cannot list resource "endpoints" in 
API group "" at the cluster scope: RBAC: [clusterrole.rbac.authorization.k8s.io "system:basic-user" not found,
clusterrole.rbac.authorization.k8s.io "system:node-proxier" not found,
clusterrole.rbac.authorization.k8s.io "system:discovery" not found,
clusterrole.rbac.authorization.k8s.io "system:public-info-viewer" not found]
...
  1. calico 网络问题

LVS_NAT和TUN隧道
K8s网络实战分析之Calico-ipip模式
【iptables】理解iptables中DNAT、SNAT和MASQUERADE
k8s网络calico——BGP模式

Linux中169.254.0.0/24的路由来自哪里
Calico 问题排障
K8S 探针 readinessProbe、livenessProbe和startupProbe

  1. TiDB问题

TiDB on Kubernetes 最佳实践
TiDB 在网易游戏的应用实践
numactl工具
newSQL 到底是什么?
NewSQL系统综述——NewSQL到底New在哪里?
SSD技术扫盲之:什么是NVMe? NVMe SSD有什么特点?
ext4的fsync性能和nodelalloc参数的分析
挂载文件系统选项nodiratime、noatime
TiDB 环境与系统配置检查
tuned-adm: 最有用的性能调优工具之一
在Linux下安装tuned以使用tuned-adm命令优化Linux系统性能
增强型 StatefulSet 控制器
Kubernetes K8S之Taints污点与Tolerations容忍详解
tidb-cluster chart 配置

TiDB Operator 源码阅读 (二) Operator 模式
污点和容忍度
TiDB稳定性的一些问题
TiDB错误码与故障排除

  1. 亲和性和反亲和性

K8S高级调度——亲和性和反亲和性
详解 Kubernetes StatefulSet 实现原理
Linux:K8S Pods的生命周期--postStart/preStop
Kubernetes K8S之affinity亲和性与反亲和性详解与示例
k8s之pod亲和性与反亲和性的topologyKey
k8s解决pod调度不均衡的问题
kubernetes资源均衡器Descheduler

  1. iptables 会话保持

Kubernetes进阶实战读书笔记:Service资源实现模型
基于IPVS的集群内负载均衡深入解读
【k8s】svc-sessionAffinity
kubernetes session保持等设置
IPVS支持协议的超时时间

  1. 开启ipv6后导致的tidb启动问题

k8s与dns--coredns的一些实战经验, 配置template关闭ipv6的解析

  1. nat转换问题

网络地址转换(NAT)之报文跟踪
网络地址转换(NAT)之连接跟踪工具
iptables规则链执行顺序
kube-proxy ipvs 模式源码分析
iptables ipset详解
利用 ipset 封禁大量 IP
记一次问题排查:为什么在POD无法通过Service访问自己?

  1. sftp 问题

Linux openSSH 只能够使用SFTP 不能使用ssh登陆
使用put方法上传文件_tftp 上传文件,tftp 上传文件方法,详细教程
TFTP协议详解及TFTP穿越NAT
使VSFTPD Ftp Server同时支持IPv4和IPv6网络

  1. nginx 问题

Centmin Mod: enable IPv6 with Nginx
Linux下ipv6配置系列三:如何为Nginx配置IPv6端口监听

  1. master问题

将 master 节点服务器从 k8s 集群中移除并重新加入

  1. keepalived ipv6

keepalive配置支持ipv6、ipv4双棧支持

  1. dual stack

DualStack: NodePort failed when opening dual-stack with ipvs #93858
Kube-proxy/ipvs; Use go "net" lib to get nodeIPs #101429

  1. 客户端ip

k8s获取client ip
Using Source IP

  1. 删除节点

k8s删除一个Node并重新加入集群
k8s 删除master和etcd节点并重新加入

  1. redis

redis集群报错:(error) MOVED 解决方法

  1. calico

calico分配的ip冲突,pod内部arp记录丢失,pod无法访问外部服务
arp incomplete_排查Calico网络中ARP响应异常
calico网络原理、组网方式和使用
Calico 网络通信原理揭秘
k8s网络之Calico网络

免责声明:文章转载自《[TimLinux] k8s 故障分析全集》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Zabbix 主动和被动模式配置(主动模式无法获取数据解决)编程和音乐真的很像吗?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Kubelet 证书如何自动续期

一、问题现象和原因 Kubernetes 日志错误 当 Kubernetes 集群日志中出现certificate has expired or is not yet valid错误信息时,表明证书过期 证书过期原因 服务器时间不对,导致证书过期 确实证书过期了 证书过期,很多同学会很疑惑,我证书明明签署10年有效期或者更久,怎么刚1年就过期了,下面就...

VMware Tanzu已融合云原生与K8s 市场前景尚不确定

Tanzu是什么? Tanzu 结合了Wavefront IT监控的项目和产品,VMware于2017年5月收购了该软件,并加入了Cloud Foundry PaaS实用工具。VMware在2019年12月收购的部分产品集合都改成为Tanzu。例如,VM的Pivotal Cloud Foundry现在称为VMware Tanzu应用程序服务。 适用于Kub...

k8s环境搭建--基于kubeadm方法

环境 master node: 数量 1, 系统 ubuntu 16.04_amd64 worker node: 数量 1, 系统 ubuntu 16.04_amd64 kubernetes 版本: v1.10.07 安装docker 执行docker.sh sudo -E bash docker.sh 部署kubernetes(master n...

第六篇 kubernetes helm部署harbor镜像仓库

1.harbor镜像仓库简介 Harbor 是为企业用户设计的容器镜像仓库开源项目,包括了权限管理(RBAC)、LDAP、审计、安全漏洞扫描、 镜像验真、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。 2.harbor 组件简介 从安装组件我们可以看出harbor主要依靠以下几个组件: Nginx...

Node.js & Kubernetes Graceful Shutdown

k8s-graceful-shutdown:该库提供了使用 Kubernetes 实现 Graceful Shutdown(优雅退出) Node.js App 的资源。 问题描述 在 kubernetes 中运行微服务时。我们需要处理 kubernetes 发出的终止信号。这样做的正确方法是: 监听 SIGINT, SIGTERM 收到信号后,将服务...

从技术角度讨论微服务

微服务的两个程度 一、服务化 复杂的单体架构会有以下的挑战: (1)项目启动初期,需要寻找一个能尽量涵盖所有需求的开发语言,技术选型难度高; (2)工程庞大,组件、中间件繁多,编译时间长;开发环境复杂,需要安装大量的辅助软件,环境准备时间长; (3)团队无效沟通多,沟通成本高; (4)部署环境依赖大,某个组件的问题可能导致整个系统无法运行; (5)新功能添...