Баг kubespray

Thank you for reading this post, don't forget to subscribe!

Ста­ви­ли как обыч­но при помо­щи kubespray release-2.18. Но после уста­нов­ки заме­ти­ли, что поды nodelocaldns пери­о­ди­че­ски падают.

Нача­ли смот­реть глуб­же. Ока­за­лось, что kubespray на всех нодах кла­сте­ра поме­нял фай­лы /etc/resolv.conf на вот такое:

Пер­вый nameserver — это ip nodelocaldns на ноде. Вто­рой — это ip coredns. Тре­тий — DNS сер­вер провайдера.

В ито­ге мы полу­чи­ли пет­лю DNS запро­сов. Разу­ме­ет­ся DNS в кубе­ре не рабо­та­ет. Ну и сам кубер полу­ча­ет­ся не рабочий.

Дол­го иска­ли, что за фиг­ня. В нача­ле Декаб­ря кла­сте­ра ста­ви­лись без про­блем. В кон­це Янва­ря всё про­па­ло. Ока­за­лось, что какой то олень из коман­ды kubespray в sample inventory, в фай­ле k8s-cluster.yml заме­нил зна­че­ние по умол­ча­нию у параметра:

Рань­ше там сто­я­ло docker_dns. Но видать в свя­зи с пере­ез­дом с доке­ра на containerd оле­ню не понра­ви­лось сло­во docker в зна­че­нии пара­мет­ра и он его не гля­дя заменил.

Ребя­та из kubespray обе­ща­ли исправить