记录一次k8s部署pod失败的排查

前几天收到反馈,k8s-uat集群部署业务会失败,上rancher上看下pod状态发现创建失败,随后展开了排查之路,今日在此记录:

  1. 首先通过报错看到确实是pod部署不上去,ip也获取不到,那么就要先确认是只有调度到这一台node会失败还是整个集群任意一个node会失败?

  2. 通过删除有问题的节点重新调度,或者自己指定node调度发现只有调度到k8s-01上才会失败,其余均正常。

  3. 现在问题定位到k8s-01这台机器,它既是master也是node,所以查看master上面“三件套”的日志,并没有发现有用线索。

  4. 继续排查,查看kubelet的日志,发现明显报错:network: no etcd endpoints specified


    报错.png
  5. 可以清晰的看到错误是因 cni 网络插件引起的,原因是 找不到etcd 地址,连不到etcd

  6. 排查etcd

a.查看etcd状态, 一切正常。

curl --cacert /etc/cni/net.d/calico-tls/etcd-ca --cert /etc/cni/net.d/calico-tls/etcd-cert --key /etc/cni/net.d/calico-tls/etcd-key https://192.168.1.25:2379/health

返回:{"health":"true"} 

b. 尝试从etcd中获取键,在取值,也是一切正常。


查看过滤calico键值
etcdctl   --cacert=/etc/kubernetes/pki/etcd-ca.pem --cert=/etc/kubernetes/pki/apiserver-etcd-client.pem  --key=/etc/kubernetes/pki/apiserver-etcd-client.key --endpoints=https://192.168.1.24:2379 get / --prefix --keys-only|grep calico
取数据:
etcdctl   --cacert=/etc/kubernetes/pki/etcd-ca.pem --cert=/etc/kubernetes/pki/apiserver-etcd-client.pem  --key=/etc/kubernetes/pki/apiserver-etcd-client.key --endpoints=https://192.168.1.24:2379 get /   /registry/pods/kube-system/calico-node-hwwml

以上可以正常读取数据,再结合其他node可以正常部署,那么etcd集群的问题排除,问题肯定在这个节点的calico 到 etcd 之间的问题

7. 尝试重启服务器。

这次重启大法并没起作用,不仅没有解决问题,并且重启后 k8s-01节点上的calico-kube-controllers与calico-node也都起不来了,kubelet报的错依然是 上面找不到etcd的错。

8. 仔细想想calico连etcd地址在哪儿定义的,当然是起初calico-etcd.yaml中的configmap部分啊, 所以查看k8s-01的calico configmap


kubectl get cm calico-config -nkube-system

kubectl describe cm calico-config -nkube-system

calico配置2.png

etcd_points 是空的。。。问题就在这里。

9. 修改calico-config 这个confimap

我们修改其中etcd_endpoints:""为


etcd_endpoints: "https://192.168.1.24:2379,https://192.168.1.25:2379,https://192.168.1.26:2379"

这里3个思路:

a. 执行kubectl get cm calico-config -nkube-system -o yaml>./calico-bakcup_yaml/calico-config.yaml先备份,在cp一份出来命名为calico-config-update.yaml,将里面的没用的字段删掉,将etcd_endpoints字段手动补上去,最终执行kubectl apply -f calico-config-update.yaml

b. 将calico-etcd.yaml 中的configmap这个kind的一段拿出来 ,单独写成一个yaml,calico-config-update.yaml,注意etcd_endpoints地址要有啊,最终执行kubectl apply -f calico-config-update.yaml

c. 直接修改,执行kubectl edit cm cm calico-config.yaml -nkube-system,将etcd_endpoints手动加上去

10. 修改/etc/cni/net.d/10-calico.conflist

calico配置1.jpg

因为k8s-pod-network,主要跟这个文件有关,所以还要修改下/etc/cni/net.d/10-calico.conflist, 我们修改其中etcd_endpoints:""为etcd_endpoints: "https://192.168.1.24:2379,https://192.168.1.25:2379,https://192.168.1.26:2379"

11. 重启Kubelet ,查看日志,尝试重新Pod 到k8s-01问题解决

calico-ok.png

pod-ok.png

总结:

前面都是常规排障分析,后面看到cni,etcd相关错误时,耽误了很长时间,不知道如何入手,因为对calico根本不熟悉,部署的时候也只是修改些东西直接apply ,并没注意到calico-etcd.yaml到底都定义了那些东西。如果这些足够清楚的话,相信这个问题很快就可以定位到,迎刃而解。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,639评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,093评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,079评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,329评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,343评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,047评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,645评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,565评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,095评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,201评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,338评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,014评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,701评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,194评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,320评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,685评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,345评论 2 358

推荐阅读更多精彩内容