[TimLinux] k8s 故障分析全集
节点NotReady
Traints:
- node.kubernetes.io/unreachable:NoExecute
- node.kubernetes.io/unreachable:NoSchedule
解决办法:
- 查看 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)
- 尝试登陆进去看下:
# 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)
- 查看其它节点都 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]
...
- 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
- 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错误码与故障排除
- 亲和性和反亲和性
K8S高级调度——亲和性和反亲和性
详解 Kubernetes StatefulSet 实现原理
Linux:K8S Pods的生命周期--postStart/preStop
Kubernetes K8S之affinity亲和性与反亲和性详解与示例
k8s之pod亲和性与反亲和性的topologyKey
k8s解决pod调度不均衡的问题
kubernetes资源均衡器Descheduler
- iptables 会话保持
Kubernetes进阶实战读书笔记:Service资源实现模型
基于IPVS的集群内负载均衡深入解读
【k8s】svc-sessionAffinity
kubernetes session保持等设置
IPVS支持协议的超时时间
- 开启ipv6后导致的tidb启动问题
k8s与dns--coredns的一些实战经验, 配置template关闭ipv6的解析
- nat转换问题
网络地址转换(NAT)之报文跟踪
网络地址转换(NAT)之连接跟踪工具
iptables规则链执行顺序
kube-proxy ipvs 模式源码分析
iptables ipset详解
利用 ipset 封禁大量 IP
记一次问题排查:为什么在POD无法通过Service访问自己?
- sftp 问题
Linux openSSH 只能够使用SFTP 不能使用ssh登陆
使用put方法上传文件_tftp 上传文件,tftp 上传文件方法,详细教程
TFTP协议详解及TFTP穿越NAT
使VSFTPD Ftp Server同时支持IPv4和IPv6网络
- nginx 问题
Centmin Mod: enable IPv6 with Nginx
Linux下ipv6配置系列三:如何为Nginx配置IPv6端口监听
- master问题
将 master 节点服务器从 k8s 集群中移除并重新加入
- keepalived ipv6
- dual stack
DualStack: NodePort failed when opening dual-stack with ipvs #93858
Kube-proxy/ipvs; Use go "net" lib to get nodeIPs #101429
- 客户端ip
k8s获取client ip
Using Source IP
- 删除节点
k8s删除一个Node并重新加入集群
k8s 删除master和etcd节点并重新加入
- redis
- calico
calico分配的ip冲突,pod内部arp记录丢失,pod无法访问外部服务
arp incomplete_排查Calico网络中ARP响应异常
calico网络原理、组网方式和使用
Calico 网络通信原理揭秘
k8s网络之Calico网络