Kubernetes使用过程中遇到的一些问题与解决方法

Tags: kubernetes_problem 

目录

说明

这里记录Kubernetes使用过程中遇到的一些比较简单的问题与解决方法,比较复杂的问题会单独分析:关于Kubernetes的所有文章

kubectl exec登陆容器后,shell终端窗口宽度太小

这个其实不是kubectl的问题,而是shell终端的问题,在shell终端中可以通过变量COLUMNS修改宽度:

export COLUMNS=210

这个变量可以进入容器后设置,也可以在执行exec命令时传入,例如:

kubectl exec -ti busybox -- env COLUMNS=500 LINES=100 bash 

参考:解决kubectl exec terminal size问题

docker无法启动:Failed to start docker.service: Unit not found

在CentOS 7上安装了docker-ce 18.03,启动的时候说是找不到unit,莫名其妙:

Failed to start docker.service: Unit not found

后来发现是因为机器上的flanneld服务要在docker服务之前启动:

$ cat /usr/lib/systemd/system/flanneld.service
[Unit]
Description=Flanneld overlay address etcd agent
After=network.target
After=network-online.target
Wants=network-online.target
After=etcd.service
Before=docker.service
..

文件/usr/lib/systemd/system/flanneld.service早就被我删除了,但是/etc/systemd/system/docker.service.requires/中还有一个flanneld.service,它是个符号链接,链接的文件已经删除:

$ ls  -l /etc/systemd/system/docker.service.requires/
total 0
lrwxrwxrwx 1 root root 40 Jan 26  2018 flanneld.service -> /usr/lib/systemd/system/flanneld.service

将/etc/systemd/system/docker.service.requires/flanneld.service删除后,docker启动成功。

参考docker.service启动失败:Unit not found


kubernetes_problem

  1. kubernetes ingress-nginx 启用 upstream 长连接,需要注意,否则容易 502
  2. kubernetes ingress-nginx 的 canary 影响指向同一个 service 的所有 ingress
  3. ingress-nginx 启用 tls 加密,配置了不存在的证书,导致 unable to get local issuer certificate
  4. https 协议访问,误用 http 端口,CONNECT_CR_SRVR_HELLO: wrong version number
  5. Kubernetes ingress-nginx 4 层 tcp 代理,无限重试不存在的地址,高达百万次
  6. Kubernetes 集群中个别 Pod 的 CPU 使用率异常高的问题调查
  7. Kubernetes 集群 Node 间歇性变为 NotReady 状态: IO 负载高,延迟严重
  8. Kubernetes的nginx-ingress-controller刷新nginx的配置滞后十分钟导致504
  9. Kubernetes的Nginx Ingress 0.20之前的版本,upstream的keep-alive不生效
  10. Kubernetes node 的 xfs文件系统损坏,kubelet主动退出且重启失败,恢复后无法创建pod
  11. Kubernetes的Pod无法删除,glusterfs导致docker无响应,集群雪崩
  12. Kubernetes集群node无法访问service: kube-proxy没有正确设置cluster-cidr
  13. Kubernetes集群node上的容器无法ping通外网: iptables snat规则缺失导致
  14. Kubernetes问题调查: failed to get cgroup stats for /systemd/system.slice
  15. Kubelet1.7.16使用kubeconfig时,没有设置--require-kubeconfig,导致node不能注册
  16. Kubelet从1.7.16升级到1.9.11,Sandbox以外的容器都被重建的问题调查
  17. Kubernetes: 内核参数rp_filter设置为Strict RPF,导致Service不通
  18. Kubernetes使用过程中遇到的一些问题与解决方法
  19. Kubernetes集群节点被入侵挖矿,CPU被占满
  20. kubernetes的node上的重启linux网络服务后,pod无法联通
  21. kubernetes的pod因为同名Sandbox的存在,一直无法删除
  22. kubelet升级,导致calico中存在多余的workloadendpoint,node上存在多余的veth设备
  23. 使用petset创建的etcd集群在kubernetes中运行失败
  24. Kubernetes 容器启动失败: unable to create nf_conn slab cache
  25. 未在calico中创建hostendpoint,导致开启隔离后,在kubernetes的node上无法访问pod
  26. calico分配的ip冲突,pod内部arp记录丢失,pod无法访问外部服务
  27. kubernetes的dnsmasq缓存查询结果,导致pod偶尔无法访问域名
  28. k8s: rbd image is locked by other nodes
  29. kuberntes的node无法通过物理机网卡访问Service

推荐阅读

Copyright @2011-2019 All rights reserved. 转载请添加原文连接,合作请加微信lijiaocn或者发送邮件: [email protected],备注网站合作

友情链接:  李佶澳的博客  系统软件  程序语言  运营经验  关注方向  水库文集  网文收藏  网络课程  发现知识星球  百度搜索 谷歌搜索