Puncte:0

Kubeadm init eșuează, kubelet nu reușește să pornească

drapel in

Încerc să configurez un cluster Kubernetes pe un set de raspberry pi 4s, mă confrunt cu o problemă cu kubelet eșuat când rulez comanda kubeadm init

I0205 12:29:52.930582 5348 local.go:65] [etcd] a scris manifestul Static Pod pentru un membru local etcd la „/etc/kubernetes/manifests/etcd.yaml”
I0205 12:29:52.930638 5348 waitcontrolplane.go:91] [wait-control-plane] Se așteaptă ca serverul API să fie sănătos
[wait-control-plane] Se așteaptă ca kubelet să pornească planul de control ca Pod-uri statice din directorul „/etc/kubernetes/manifests”. Acest lucru poate dura până la 4m0s
[kubelet-check] Timpul de expirare inițial de 40 de secunde a trecut.
[kubelet-check] Se pare că kubelet-ul nu funcționează sau nu este sănătos.
[kubelet-check] Apelul HTTP egal cu „curl -sSL http://localhost:10248/healthz” a eșuat cu eroare: Obțineți „http://localhost:10248/healthz”: dial tcp [::1]:10248 : connect: conexiune refuzată.
[kubelet-check] Se pare că kubelet-ul nu funcționează sau nu este sănătos.
[kubelet-check] Apelul HTTP egal cu „curl -sSL http://localhost:10248/healthz” a eșuat cu eroare: Obțineți „http://localhost:10248/healthz”: dial tcp [::1]:10248 : connect: conexiune refuzată.
[kubelet-check] Se pare că kubelet-ul nu funcționează sau nu este sănătos.
[kubelet-check] Apelul HTTP egal cu „curl -sSL http://localhost:10248/healthz” a eșuat cu eroare: Obțineți „http://localhost:10248/healthz”: dial tcp [::1]:10248 : connect: conexiune refuzată.
[kubelet-check] Se pare că kubelet-ul nu funcționează sau nu este sănătos.
[kubelet-check] Apelul HTTP egal cu „curl -sSL http://localhost:10248/healthz” a eșuat cu eroare: Obțineți „http://localhost:10248/healthz”: dial tcp [::1]:10248 : connect: conexiune refuzată.
[kubelet-check] Se pare că kubelet-ul nu funcționează sau nu este sănătos.
[kubelet-check] Apelul HTTP egal cu „curl -sSL http://localhost:10248/healthz” a eșuat cu eroare: Obțineți „http://localhost:10248/healthz”: dial tcp [::1]:10248 : connect: conexiune refuzată.

    Din păcate, a apărut o eroare:
        a expirat în așteptarea stării

    Această eroare este probabil cauzată de:
        - Kubeletul nu rulează
        - Kubelet-ul este nesănătos din cauza unei configurări greșite a nodului într-un fel (cgroups obligatorii dezactivate)

    Dacă sunteți pe un sistem alimentat de sistem, puteți încerca să depanați eroarea cu următoarele comenzi:
        - „systemctl status kubelet”
        - 'journalctl -xeu kubelet'

    În plus, este posibil ca o componentă a planului de control să se fi prăbușit sau să fi ieșit atunci când a fost pornită de rularea containerului.
    Pentru a depana, listați toate containerele utilizând CLI pentru rulajele de containere preferate.

    Iată un exemplu de cum puteți enumera toate containerele Kubernetes care rulează în docker:
        - 'docker ps -a | grep kube | grep -v pauză'
        Odată ce ați găsit containerul defect, îi puteți inspecta jurnalele cu:
        - „docker logs CONTAINERID”

nu a putut inițializa un cluster Kubernetes
k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/init.runWaitControlPlanePhase
    /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/init/waitcontrolplane.go:118
k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow.(*Runner).Run.func1
    /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow/runner.go:234
k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow.(*Runner).visitAll
    /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow/runner.go:421
k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow.(*Runner).Run
    /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow/runner.go:207
k8s.io/kubernetes/cmd/kubeadm/app/cmd.newCmdInit.func1
    /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/cmd/init.go:153
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).execute
    /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:856
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).ExecuteC
    /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:974
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Comandă). Executați
    /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:902
k8s.io/kubernetes/cmd/kubeadm/app.Run
    /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/kubeadm.go:50
principal.principal
    _output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/kubeadm.go:25
runtime.main
    /usr/local/go/src/runtime/proc.go:255
runtime.goexit
    /usr/local/go/src/runtime/asm_arm.s:838
eroare fază de execuție așteptare-plan-control
k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow.(*Runner).Run.func1
    /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow/runner.go:235
k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow.(*Runner).visitAll
    /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow/runner.go:421
k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow.(*Runner).Run
    /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow/runner.go:207
k8s.io/kubernetes/cmd/kubeadm/app/cmd.newCmdInit.func1
    /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/cmd/init.go:153
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).execute
    /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:856
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).ExecuteC
    /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:974
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Comandă). Executați
    /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:902
k8s.io/kubernetes/cmd/kubeadm/app.Run
    /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/kubeadm.go:50
principal.principal
    _output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/kubeadm.go:25
runtime.main
    /usr/local/go/src/runtime/proc.go:255
runtime.goexit
    /usr/local/go/src/runtime/asm_arm.s:838

jurnal -xeu kubelet returnează următoarele

 kubelet[6145]: Flag --network-plugin a fost depreciat, va fi eliminat împreună cu dockershim.
 kubelet[6145]: Flag --network-plugin a fost depreciat, va fi eliminat împreună cu dockershim.
 kubelet[6145]: I0205 12:30:42.432739 6145 server.go:446] „Versiune Kubelet” kubeletVersion="v1.23.3"
 kubelet[6145]: I0205 12:30:42.434017 6145 server.go:874] „Rotația clientului este activată, se va porni în fundal”
 kubelet[6145]: I0205 12:30:42.439452 6145 certificate_store.go:130] Se încarcă perechea certificat/cheie de la „/var/lib/kubelet/pki/kubelet-client-current.pem”.
 kubelet[6145]: I0205 12:30:42.442739 6145 dynamic_cafile_content.go:156] „Se pornește controlerul” name="client-ca-bundle::/etc/kubernetes/pki/ca.crt"
 kubelet[6145]: W0205 12:30:42.442919 6145 manager.go:159] Nu se poate detecta cgroup curent pe cgroup v2
 kubelet[6145]: W0205 12:30:42.661741 6145 sysinfo.go:203] Topologia nodurilor nu este disponibilă, oferind topologia CPU
 kubelet[6145]: W0205 12:30:42.663764 6145 machine.go:65] Nu se poate citi corect ID-ul furnizorului, setați gol.
 kubelet[6145]: I0205 12:30:42.666660 6145 server.go:693] „--cgroups-per-qos activat, dar --cgroup-root nu a fost specificat. implicit la /”
 kubelet[6145]: I0205 12:30:42.667641 6145 container_manager_linux.go:281] „Container manager a verificat utilizatorul specificat cgroup-root există” cgroupRoot=[]
 kubelet[6145]: I0205 12:30:42.667940 6145 container_manager_linux.go:286] „Crearea obiectului Container Manager bazat pe Node Config” nodeConfig={RuntimeCgroupsName: SystemCgroups>
 kubelet[6145]: I0205 12:30:42.668146 6145 topology_manager.go:133] „Crearea managerului de topologie cu o politică per domeniu” topologyPolicyName="none" topologyScopeName="container"
 kubelet[6145]: I0205 12:30:42.668188 6145 container_manager_linux.go:321] „Se creează un manager de plugin pentru dispozitiv” devicePluginEnabled=true
 kubelet[6145]: I0205 12:30:42.668256 6145 state_mem.go:36] „Noul magazin de stare în memorie inițializat”
 kubelet[6145]: I0205 12:30:42.668448 6145 kubelet.go:313] „Utilizarea dockershim este depreciată, vă rugăm să luați în considerare utilizarea unei implementări CRI cu drepturi depline”
 kubelet[6145]: I0205 12:30:42.668635 6145 client.go:80] „Se conectează la docker pe dockerEndpoint” endpoint="unix:///var/run/docker.sock"
 kubelet[6145]: I0205 12:30:42.668699 6145 client.go:99] „Porniți clientul Docker cu expirarea cererii” timeout="2m0s"
 kubelet[6145]: I0205 12:30:42.705426 6145 docker_service.go:571] „Modul ac de păr este setat, dar kubenet nu este activat, revenind la HairpinVeth” hairpinMode=promiscuous-bridge
 kubelet[6145]: I0205 12:30:42.705510 6145 docker_service.go:243] „Modul ac de păr este setat” hairpinMode=hairpin-veth
 kubelet[6145]: I0205 12:30:42.705832 6145 cni.go:240] „Nu se poate actualiza cni config” err="nu au fost găsite rețele în /etc/cni/net.d"
 kubelet[6145]: I0205 12:30:42.712758 6145 cni.go:240] „Nu se poate actualiza cni config” err="nu au fost găsite rețele în /etc/cni/net.d"
 kubelet[6145]: I0205 12:30:42.712950 6145 docker_service.go:258] „Docker cri networking managed by network plugin” networkPluginName="cni"
 kubelet[6145]: I0205 12:30:42.713256 6145 cni.go:240] „Nu se poate actualiza cni config” err="nu au fost găsite rețele în /etc/cni/net.d"
 kubelet[6145]: I0205 12:30:42.750856 6145 docker_service.go:264] „Informații Docker” dockerInfo=&{ID:GLFU:JW22:MA7Q:YPYL:UDSW:E4EC:G2M3:QSBMS:G7:CY:G7:G7:CY:GLFU:JW22:MA7Q Containere J34B:0 Containe>
 kubelet[6145]: I0205 12:30:42.750943 6145 docker_service.go:279] „Setarea cgroupDriver” cgroupDriver="systemd"
 kubelet[6145]: I0205 12:30:42.824353 6145 kubelet.go:416] „Se încearcă sincronizarea nodului cu serverul API”
 kubelet[6145]: I0205 12:30:42.824406 6145 kubelet.go:278] „Adăugarea căii pod statice” path="/etc/kubernetes/manifests”
 kubelet[6145]: I0205 12:30:42.824521 6145 kubelet.go:289] „Adăugarea sursei podului apiserver”
 kubelet[6145]: I0205 12:30:42.824593 6145 apiserver.go:42] „Se așteaptă sincronizarea nodului înainte de a viziona podurile apiserver”
 kubelet[6145]: W0205 12:30:42.827626 6145 reflector.go:324] k8s.io/client-go/informers/factory.go:134: nu s-a putut enumera *v1.Node: Obțineți „https://192.168. 1.53:6443/api/v1/nodes?fiel>
 kubelet[6145]: E0205 12:30:42.828345 6145 reflector.go:138] k8s.io/client-go/informers/factory.go:134: Vizionare eșuată *v1.Node: eșuat la lista *v1.Node: Obțineți „https://192.168.1>
 kubelet[6145]: W0205 12:30:42.829064 6145 reflector.go:324] k8s.io/client-go/informers/factory.go:134: nu s-a putut enumera *v1.Service: Obțineți „https://192.168. 1.53:6443/api/v1/service>
 kubelet[6145]: E0205 12:30:42.829173 6145 reflector.go:138] k8s.io/client-go/informers/factory.go:134: Vizionare eșuată *v1.Service: eșuat la lista *v1.Service: Obțineți „https://192>
 kubelet[6145]: I0205 12:30:42.866086 6145 kuberuntime_manager.go:248] „Timpul de rulare al containerului a fost inițializat” containerRuntime="docker" version="20.10.12" apiVersion="1.41.0"
 kubelet[6145]: I0205 12:30:42.867183 6145 server.go:1231] „A pornit kubelet”
 kubelet[6145]: I0205 12:30:42.867659 6145 server.go:150] „Începe să asculte” adresa="0.0.0.0" port=10250
 kubelet[6145]: E0205 12:30:42.869415 6145 kubelet.go:1351] „Colectarea deșeurilor de imagini a eșuat o dată. Este posibil ca inițializarea statisticilor să nu se fi finalizat încă” err="Nu s-a putut obține imaginile în>
 kubelet[6145]: E0205 12:30:42.869315 6145 event.go:276] Nu se poate scrie evenimentul: '&v1.Event{TypeMeta:v1.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:v1.ObjectMeta {Nume:"pi-kube-m>
 kubelet[6145]: I0205 12:30:42.869879 6145 server.go:410] „Adăugarea handlerelor de depanare la serverul kubelet”
 kubelet[6145]: I0205 12:30:42.871657 6145 fs_resource_analyzer.go:67] „Pornirea FS ResourceAnalyzer”
 kubelet[6145]: I0205 12:30:42.873710 6145 volume_manager.go:291] „Se pornește Kubelet Volume Manager”
 kubelet[6145]: I0205 12:30:42.875471 6145 wanted_state_of_world_populator.go:147] „Populatorul de stare dorită începe să ruleze”
 kubelet[6145]: E0205 12:30:42.880669 6145 controller.go:144] nu a reușit să se asigure că închirierea există, va reîncerca în 200 ms, eroare: Obțineți „https://192.168.1.53:6443/apis/coordination.io. />
 kubelet[6145]: W0205 12:30:42.887766 6145 reflector.go:324] k8s.io/client-go/informers/factory.go:134: nu s-a putut enumera *v1.CSIDriver: Obțineți „https://192.168. 1.53:6443/apis/storage>
 kubelet[6145]: E0205 12:30:42.888790 6145 reflector.go:138] k8s.io/client-go/informers/factory.go:134: Vizionarea eșuată *v1.CSIDriver: eșuat la lista *v1.CSIDriver: Obțineți „https://>
 kubelet[6145]: E0205 12:30:42.934490 6145 kubelet.go:2347] „Rețeaua de rulare a containerului nu este gata” networkReady="NetworkReady=false motiv:NetworkPluginNotReady mesaj:docker: pluginul de rețea nu este pregătit: configurația cniized nu este gata”
 kubelet[6145]: E0205 12:30:42.974631 6145 kubelet.go:2422] „Eroare la obținerea nodului” err="nodul \"pi-kube-master\" nu a fost găsit"
 kubelet[6145]: I0205 12:30:42.980188 6145 kubelet_network_linux.go:57] „Reguli iptables de protocol inițializate”. protocol=IPv4
 kubelet[6145]: I0205 12:30:43.046659 6145 kubelet_node_status.go:70] „Se încearcă înregistrarea nodului” node="pi-kube-master"
 kubelet[6145]: E0205 12:30:43.048340 6145 kubelet_node_status.go:92] „Nu se poate înregistra nodul cu serverul API” err="Postează \"https://192.168.1.53:6443/api/v1/" : formați tcp 19>
 kubelet[6145]: panică: operație atomică nealiniată pe 64 de biți
 kubelet[6145]: goroutine 380 [running]:
 kubelet[6145]: runtime/internal/atomic.panicUnaligned()
 kubelet[6145]: /usr/local/go/src/runtime/internal/atomic/unaligned.go:8 +0x24
 kubelet[6145]: runtime/internal/atomic.Load64(0x857016c)
 kubelet[6145]: /usr/local/go/src/runtime/internal/atomic/atomic_arm.s:286 +0x14
 kubelet[6145]: k8s.io/kubernetes/vendor/github.com/google/cadvisor/manager.(*containerData).updateStats(0x8570000)
 kubelet[6145]: /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/github.com/google/cadvisor/manager/container.go:676 +0x438
 kubelet[6145]: k8s.io/kubernetes/vendor/github.com/google/cadvisor/manager.(*containerData).housekeepingTick(0x8570000, 0x8535500, 0x5f5e100)
 kubelet[6145]: /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/github.com/google/cadvisor/manager/container.go:587 +0x104
 kubelet[6145]: k8s.io/kubernetes/vendor/github.com/google/cadvisor/manager.(*containerData).housekeeping(0x8570000)
 kubelet[6145]: /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/github.com/google/cadvisor/manager/container.go:535 +0x3bc
 kubelet[6145]: creat de k8s.io/kubernetes/vendor/github.com/google/cadvisor/manager.(*containerData).Start
 kubelet[6145]: /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/github.com/google/cadvisor/manager/container.go:122 +0x2c
 systemd[1]: kubelet.service: Proces principal ieșit, cod=ieșit, stare=2/INVALIDARGUMENT

Văd că conexiunea a fost refuzată pe portul 6443, deși nu văd o problemă cu iptables sau văd un serviciu care ascultă pe acel port. De asemenea, nu văd că nici un container a început.

p10l avatar
drapel us
Ai docker care rulează?
Puncte:1
drapel us

Conform postării tale, problema pare să fie

kubelet[6145]: E0205 12:30:43.048340 6145 kubelet_node_status.go:92] „Nu se poate înregistra nodul cu serverul API” err="Postează „https://192.168.1.53:6443/api/v1/nodes”: formați tcp 19> kubelet[6145]: panică: operație atomică nealiniată pe 64 de biți

Vă rugăm să consultați următoarele pentru problema particulară

https://github.com/kubernetes/kubernetes/issues/106977 Conform discuției de mai sus, această problemă va fi rezolvată după îmbinarea #107225.

Puncte:0
drapel jp

O soluție grozavă găsită în asta legătură: https://jaedsada.me/blogs/kubernetes/k8s-init-fail

$ cat <<EOF | sudo tee /etc/docker/daemon.json
{
    "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
sudo kubeadm reset
sudo kubeadm init

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.