Versiunea sistemului de operare VM - RHEL 8.2 (4.18.0-193.el8.x86_64)
Versiunea Docker - 19.03.8
Versiunea Kubernetes - 1.18.0
Configurație H/W - 4 CPU și 16 GB RAM (90% disponibil)
jurnalele de execuție din kubeadm init
$$kubeadm init --kubernetes-version="v1.18.0" --pod-network-cidr="10.244.0.0/16"
W0519 21:08:48.180818 913499 configset.go:202] AVERTISMENT: kubeadm nu poate valida configurațiile componente pentru grupurile API [kubelet.config.k8s.io kubeproxy.config.k8s.io]
[init] Folosind versiunea Kubernetes: v1.18.0
[preflight] Executare verificări înainte de zbor
[AVERTISMENT IsDockerSystemdCheck]: a detectat „cgroupfs” ca driver Docker cgroup. Driverul recomandat este „systemd”. Vă rugăm să urmați ghidul de la https://kubernetes.io/docs/setup/cri/
[AVERTISMENT FileExisting-socat]: socat nu a fost găsit în calea sistemului
[flight] Extragerea imaginilor necesare pentru configurarea unui cluster Kubernetes
[flight] Acest lucru poate dura un minut sau două, în funcție de viteza conexiunii dvs. la internet
[flight] Puteți efectua această acțiune în prealabil folosind „kubeadm config images pull”
[kubelet-start] Se scrie un fișier de mediu kubelet cu steaguri în fișierul „/var/lib/kubelet/kubeadm-flags.env”
[kubelet-start] Se scrie configurația kubelet în fișierul „/var/lib/kubelet/config.yaml”
[kubelet-start] Pornirea kubeletului
[cert] Folosind folderul certificateDir „/etc/kubernetes/pki”
[cert] Se generează certificatul și cheia „ca”.
[cert] Se generează certificatul și cheia „apiserver”.
[certs] certificatul de servire apiserver este semnat pentru nume DNS [host422 kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] și IP-uri [10.96.0.1 10.180.40.75]
[cert] Se generează certificatul și cheia „apiserver-kubelet-client”.
[cert] Se generează certificatul și cheia „front-proxy-ca”.
[cert] Se generează certificatul și cheia „front-proxy-client”.
[cert] Se generează certificatul și cheia „etcd/ca”.
[cert] Se generează certificatul și cheia „etcd/server”.
[certs] etcd/server de servire cert este semnat pentru numele DNS [host422 localhost] și IP-uri [10.180.40.75 127.0.0.1 ::1]
[cert] Se generează certificatul și cheia „etcd/peer”.
[cert] etcd/cert de servire peer este semnat pentru numele DNS [host422 localhost] și IP-uri [10.180.40.75 127.0.0.1 ::1]
[cert] Se generează certificatul și cheia „etcd/healthcheck-client”.
[cert] Se generează certificatul și cheia „apiserver-etcd-client”.
[cert] Se generează cheia „sa” și cheia publică
[kubeconfig] Folosind folderul kubeconfig „/etc/kubernetes”
[kubeconfig] Se scrie fișierul kubeconfig „admin.conf”.
[kubeconfig] Se scrie fișierul kubeconfig „kubelet.conf”.
[kubeconfig] Se scrie fișierul kubeconfig „controller-manager.conf”.
[kubeconfig] Se scrie fișierul kubeconfig „scheduler.conf”.
[control-plane] Folosind folderul manifest „/etc/kubernetes/manifests”
[control-plane] Se creează manifestul Pod static pentru „kube-apiserver”
[control-plane] Se creează manifestul Pod static pentru „kube-controller-manager”
W0519 21:08:50.681218 913499 manifests.go:225] modul implicit de autorizare kube-apiserver este „Node,RBAC”; folosind „Node,RBAC”
[control-plane] Se creează manifestul static Pod pentru „kube-scheduler”
W0519 21:08:50.681948 913499 manifests.go:225] modul implicit de autorizare kube-apiserver este „Node,RBAC”; folosind „Node,RBAC”
[etcd] Se creează manifestul Pod static pentru etcd local în „/etc/kubernetes/manifests”
[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.
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”
faza de execuție a erorii așteptare-plan-control: nu s-a putut inițializa un cluster Kubernetes
(1) Swapoff executat -a
(2) Am încercat să actualizez driverul cgroup al docker și kubelet la systemd
Kubeadm reset , swap -a și iptables au fost deja spălate și au încercat fără succes. Vă rog să-mi spuneți ce altceva trebuie să verific.