Î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.