Am încercat să construiesc kubernetes folosind kubeadm pe serverul meu bare-metal cu containerd ca cri, dar se părea că coredns nu a reușit să pornească după instalarea cni (weave-net).
Două containere coredns sunt acum în starea „CrashLoopBackOff”, iar jurnalele acestora sunt:
plugin/forward: nu au fost găsite servere de nume
Și descrierea „kubectl describe pod” este următoarea:
Evenimente:
Introduceți Motivul Vârsta din mesaj
---- ------ ---- ---- -------
Avertisment FailedScheduling 4m52s (x9 peste 13m) sunt disponibile nodurile 0/1 ale planificatorului implicit: 1 nod(e) aveau pată {node.kubernetes.io/not-ready: }, pe care podul nu a tolerat-o.
Programator normal de 4m7s programat implicit Alocat cu succes kube-system/coredns-58cf647449-8pq7k către k8s
Normal Extras 3m13s (x4 peste 4m6s) Imaginea containerului kubelet „localhost:5000/coredns:v1.8.4” deja prezentă pe mașină
Normal creat 3m13s (x4 peste 4m6s) kubelet Creat container coredns
Normal Pornit 3m13s (x4 peste 4m6s) Kubelet Pornit miez container
Avertisment Nesănătos 3m13s Sonda de pregătire kubelet a eșuat: Obțineți „http://10.32.0.3:8181/ready”: formați tcp 10.32.0.3:8181: conectare: conexiune refuzată
Avertisment BackOff 2m54s (x12 peste 4m5s) kubelet Back-off repornirea containerului eșuat
Dacă adaug câteva setări precum „server de nume 8.8.8.8” pe /etc/resolv.conf, coredns pods începe să ruleze. Cu toate acestea, în prezent nu folosesc deloc niciun dns extern, iar cu Docker ca cri, coredn-urile au funcționat bine, deși nu existau setări pe /etc/resolv.conf.
Este posibil să se ocupe de această problemă fără a seta un server DNS în amonte pe rezolv.conf?
Informații server:
OS: RedHat Enterprise Linux 8.4
cri: containerd 1.4.11
cni: weave-net 1.16
instrumente: kubeadm, kubectl, kubelet 1.22.1
Am încercat să folosesc calico și ca CNI, dar rezultatul a fost același.