Încerc să instalez un cluster cu un singur nod pe centos 7, cu kubadm 1.24 și cu containerd,
am urmat pasii de instalare,
și am făcut:
containerd config default > /etc/containerd/config.toml
și a transmis: SystemdCgroup = true
dar kubeadm init eșuează la:
[root@master-node .kube]# kubeadm init
[init] Folosind versiunea Kubernetes: v1.24.0
[preflight] Executare verificări înainte de zbor
[AVERTISMENT HTTPProxy]: Conexiunea la „https://10.XXXXXXXXX” folosește proxy „http://proxy-XXXXXXXXX.com:8080/”. Dacă nu este intenționat, ajustați setările proxy
[AVERTISMENT HTTPProxyCIDR]: conexiunea la „10.96.XXXXXXXXX” folosește proxy „http://proxy-XXXXXXXXX.com:8080/”. Acest lucru poate duce la o configurare defectuoasă a clusterului.Asigurați-vă că intervalele IP Pod și Servicii sunt specificate corect ca excepții în configurația proxy
[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”
[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 [kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local master-node] și IP-uri [10.96.0.1 10.XXXXXXXXX]
[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”.
[cert] etcd/certul de servire server este semnat pentru numele DNS [localhost master-node] și IP-uri [10.XXXXXX 127.0.0.1 ::1]
[cert] Se generează certificatul și cheia „etcd/peer”.
[cert] etcd/cert de servire peer este semnat pentru numele DNS [localhost master-node] și IP-uri [10.XXXXXXX 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”.
[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
[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”
[control-plane] Se creează manifestul static Pod pentru „kube-scheduler”
[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
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ă folosind crictl:
- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock ps -a | grep kube | grep -v pauză'
Odată ce ați găsit containerul defect, îi puteți inspecta jurnalele cu:
- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock logs CONTAINERID'
faza de execuție a erorii așteptare-plan-control: nu s-a putut inițializa un cluster Kubernetes
Pentru a vedea urma stivei acestei erori, executați cu --v=5 sau mai mare
starea systemctl kubelet : este activ: activ (în rulare)
și jurnalele : journalctl -xeu kubelet :
mai 20 17:07:05 master-node kubelet[8685]: E0520 17:07:05.715751 8685 kubelet.go:2344] "Container runtime network not ready" networkReady="NetworkReady=false reas
mai 20 17:07:05 master-node kubelet[8685]: E0520 17:07:05.809523 8685 kubelet.go:2419] "Eroare la obținerea nodului" err="nodul \"master-node\" not found"
mai 20 17:07:05 master-node kubelet[8685]: E0520 17:07:05.910121 8685 kubelet.go:2419] "Eroare la obținerea nodului" err="nodul \"master-node\" not found"
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.010996 8685 kubelet.go:2419] "Eroare la obținerea nodului" err="nodul \"master-node\" not found"
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.111729 8685 kubelet.go:2419] "Eroare la obținerea nodului" err="nodul \"master-node\" not found"
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.185461 8685 controller.go:144] nu a reușit să se asigure că închirierea există, va reîncerca în 7s, eroare: Obțineți „https://10.3
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.212834 8685 kubelet.go:2419] "Eroare la obținerea nodului" err="nodul \"master-node\" nu a fost găsit"
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.313367 8685 kubelet.go:2419] "Eroare la obținerea nodului" err="nodul \"master-node\" not found"
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.413857 8685 kubelet.go:2419] "Eroare la obținerea nodului" err="nodul \"master-node\" not found"
mai 20 17:07:06 master-node kubelet[8685]: I0520 17:07:06.433963 8685 kubelet_node_status.go:70] "Încercare de înregistrare a nodului" node="master-node"
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.434313 8685 kubelet_node_status.go:92] „Nu se poate înregistra nodul cu serverul API” err="Postează \"https://10.
mai 20 17:07:06 master-node kubelet[8685]: W0520 17:07:06.451759 8685 reflector.go:324] vendor/k8s.io/client-go/informers/factory.go:134: eșuat la listă * v1.CSIDr
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.451831 8685 reflector.go:138] vendor/k8s.io/client-go/informers/factory.go:134: Vizionare eșuată * v1.CSID
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.514443 8685 kubelet.go:2419] "Eroare la obținerea nodului" err="nodul \"master-node\" nu a fost găsit"
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.573293 8685 remote_runtime.go:201] „RunPodSandbox de la serviciul runtime a eșuat” err="rpc error: code = Un
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.573328 8685 kuberuntime_sandbox.go:70] „Nu s-a putut crea sandbox pentru pod” err="rpc error: code = Unknown
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.573353 8685 kuberuntime_manager.go:815] „CreatePodSandbox for pod failed” err="rpc error: code = Unknown
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.573412 8685 pod_workers.go:951] „Eroare de sincronizare a podului, sărirea peste” err="Eroare la \"CreatePodSandbox\" pentru \"
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.574220 8685 remote_runtime.go:201] „RunPodSandbox de la serviciul runtime a eșuat” err="rpc error: code = Un
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.574254 8685 kuberuntime_sandbox.go:70] „Nu s-a putut crea sandbox pentru pod” err="rpc error: code = Unknown
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.574279 8685 kuberuntime_manager.go:815] „CreatePodSandbox for pod failed” err="rpc error: code = Unknown
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.574321 8685 pod_workers.go:951] „Eroare de sincronizare a podului, omitere” err="Nu s-a putut „CreatePodSandbox\” pentru \"
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.615512 8685 kubelet.go:2419] "Eroare la obținerea nodului" err="nodul \"master-node\" not found"
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.716168 8685 kubelet.go:2419] "Eroare la obținerea nodului" err="nodul \"master-node\" nu a fost găsit"
mai 20 17:07:06 master-node kubelet[8685]: E0520 17:07:06.816764 8685 kubelet.go:2419] "Eroare la obținerea nodului" err="nodul \"master-node\" not found"
Și /var/log/message : este o mulțime de:
22 mai 12:50:00 master-node kubelet: E0522 12:50:00.616324 18961 kubelet.go:2344] "Container runtime network not ready" networkReady="NetworkReady=false motiv:NetworkPluginNot plugin-ul de returnare mesaj:cni neinițializat"
și
[root@master-node .kube]# systemctl status containerd
â containerd.service - durata de rulare a containerd containerd
Încărcat: încărcat (/usr/lib/systemd/system/containerd.service; activat; prestabilit furnizor: dezactivat)
Drop-in: /etc/systemd/system/containerd.service.d
ââhttp_proxy.conf
Activ: activ (în rulare) de la dim. 22.05.2022 12:28:59 CEST; acum 22 de minute
Documente: https://containerd.io
PID principal: 18416 (containerd)
Sarcini: 111
Memorie: 414,6 M
CGroup: /system.slice/containerd.service
ââ18416 /usr/bin/containerd
ââ19025 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id c7bc656d43ab9b01e546e4fd4ad88634807c836c4e86622cd05622cd056d43ab9b01e546e4fd4ad88634807c836c4e86622cd05622cd0501addressa/address
ââ19035 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id b9097bd741e5b87042b4592d26b46cce5f14a24e609e03c91282/conadresd38f14a24e609e03c91282 -id b9097bd741e5b87042b4592d26b46cce5f14a24e609e03c91282
ââ19047 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id 979ac32bd88c094dae25964159066202bab919ca2aea4299827807cruncfa2 -adtainer...
ââ19083 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id a6bcd2c83034531d9907defce5eda846dbdfcf474cbfe0eba7464cbfe0eba7464bb670ddress5b7370ddress5b7370d -address5b7370
ââkubepods-burstable-pod07444178f947cc274160582c2d92fd91.slice:cri-containerd:27b2a5932689d1d62fa03024b9b95024fd6542fd8f24b9542fd92fd9542fd8
â ââ19266 kube-scheduler --authentication-kubeconfig=/etc/kubernetes/scheduler.conf --authorization-kubeconfig=/etc/kubernetes/scheduler.conf --bind-ad...
ââkubepods-burstable-pod817561003fea443230cdbdc318133c3d.slice:cri-containerd:c5c8abc23cb256e2b7f01e767ea18f58133c3d.
â ââ19259 kube-controller-manager --authentication-kubeconfig=/etc/kubernetes/controller-manager.conf --authorization-kubeconfig=/etc/kubernetes/contro...
ââkubepods-burstable-pod68dc7c99c505d2f1495ca6aaa1fe2ba6.slice:cri-containerd:231b0ecd5ad9e49e2276770f235a753b04bac8ef60d04bac8ef60d04bac8af8
â ââ19246 etcd --advertise-client-urls=https://10.32.67.20:2379 --cert-file=/etc/kubernetes/pki/etcd/server.crt --client- cert-auth=true --data-dir=/var...
ââkubepods-burstable-podc5c33a178f011135df400feb1027e3a5.slice:cri-containerd:9cf36107d9881a5204f01bdc6a45a0934bdc6a45a0934bdc6a45a0934b313a097a73020974
â ââ19233 kube-apiserver --advertise-address=10.32.67.20 --allow-privileged=true --authorization-mode=Node,RBAC --client-ca-file=/etc/kubernetes /pki/ca...
ââkubepods-burstable-pod817561003fea443230cdbdc318133c3d.slice:cri-containerd:a6bcd2c83034531d9907defce5eda846bdbd646bdbf46bdbf4bd4bf4
â ââ19140 /pauză
ââkubepods-burstable-pod07444178f947cc274160582c2d92fd91.slice:cri-containerd:c7bc656d43ab9b01e546e4fd4ad886836268c4ec863626c4a
â ââ19133 /pauză
ââkubepods-burstable-pod68dc7c99c505d2f1495ca6aaa1fe2ba6.slice:cri-containerd:b9097bd741e5b87042b4592d26b46cce05f6042b4605f6042b46042f6042b
â ââ19124 /pauză
ââkubepods-burstable-podc5c33a178f011135df400feb1027e3a5.slice:cri-containerd:979ac32bd88c094dae259641590666292cb928282828282828
ââ19117 /pauză
mai 22 12:45:56 master-node containerd[18416]: time="2022-05-22T12:45:56.146209618+02:00" level=info msg="StartContainer pentru \"231b0ecd5ad9e49e2276"970f2276"
mai 22 12:45:56 master-node containerd[18416]: time="2022-05-22T12:45:56.151240012+02:00" level=info msg="CreateContainer within sandbox \"c7bc656d43ab460fe...
mai 22 12:45:56 master-node containerd[18416]: time="2022-05-22T12:45:56.151540207+02:00" level=info msg="StartContainer pentru \"27b2a5932689d1d24bfa0..."
mai 22 12:45:56 master-node containerd[18416]: time="2022-05-22T12:45:56.164666904+02:00" level=info msg="CreateContainer within sandbox \"a6bcd2c8303907de1d...
mai 22 12:45:56 master-node containerd[18416]: time="2022-05-22T12:45:56.166282219+02:00" level=info msg="StartContainer pentru \"c5c8abc23cb256e2b690"22:45:56"
mai 22 12:45:56 master-node containerd[18416]: time="2022-05-22T12:45:56.277928704+02:00" level=info msg="StartContainer pentru \"9cf36107d9881a5204aes"...
mai 22 12:45:56 master-node containerd[18416]: time="2022-05-22T12:45:56.288703134+02:00" level=info msg="StartContainer pentru \"c5c8abc23cb256e2b70f...
mai 22 12:45:56 master-node containerd[18416]: time="2022-05-22T12:45:56.290631867+02:00" level=info msg="StartContainer pentru \"231b0ecd5ad9e49e49e227770fully"
mai 22 12:45:56 master-node containerd[18416]: time="2022-05-22T12:45:56.293864738+02:00" level=info msg="StartContainer pentru \"27b2a5932689d1sfully64bfa"...
mai 22 12:46:55 master-node containerd[18416]: time="2022-05-22T12:46:55.476960835+02:00" level=error msg="ContainerStatus for \"58ef67cb3c64c5036f90dac64c5036bf90
Sugestie: Unele linii au fost elipsate, utilizați -l pentru a le afișa în întregime.
[root@master-node .kube]# systemctl status kubelet
â kubelet.service - kubelet: Agentul nodului Kubernetes
Încărcat: încărcat (/usr/lib/systemd/system/kubelet.service; activat; prestabilit furnizor: dezactivat)
Drop-in: /usr/lib/systemd/system/kubelet.service.d
ââ10-kubeadm.conf
Activ: activ (în rulare) de la dim. 22.05.2022 12:45:55 CEST; acum 6 minute
Documente: https://kubernetes.io/docs/
PID principal: 18961 (kubelet)
Sarcini: 16
Memorie: 44,2 M
CGroup: /system.slice/kubelet.service
ââ18961 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/ kube...
mai 22 12:51:25 master-node kubelet[18961]: E0522 12:51:25.632732 18961 kubelet.go:2344] "Container runtime network not ready" networkReady="NetworkRe...itialized"
mai 22 12:51:30 master-node kubelet[18961]: E0522 12:51:30.633996 18961 kubelet.go:2344] "Container runtime network not ready" networkReady="NetworkRe...itialized"
mai 22 12:51:35 master-node kubelet[18961]: E0522 12:51:35.634586 18961 kubelet.go:2344] "Container runtime network not ready" networkReady="NetworkRe...itialized"
mai 22 12:51:40 master-node kubelet[18961]: E0522 12:51:40.635415 18961 kubelet.go:2344] "Container runtime network not ready" networkReady="NetworkRe...itialized"
mai 22 12:51:45 master-node kubelet[18961]: E0522 12:51:45.636621 18961 kubelet.go:2344] "Container runtime network not ready" networkReady="NetworkRe...itialized"
mai 22 12:51:50 master-node kubelet[18961]: E0522 12:51:50.637966 18961 kubelet.go:2344] "Container runtime network not ready" networkReady="NetworkRe...itialized"
mai 22 12:51:55 master-node kubelet[18961]: E0522 12:51:55.639255 18961 kubelet.go:2344] "Container runtime network not ready" networkReady="NetworkRe...itialized"
mai 22 12:52:00 master-node kubelet[18961]: E0522 12:52:00.640514 18961 kubelet.go:2344] "Container runtime network not ready" networkReady="NetworkRe...itialized"
mai 22 12:52:05 master-node kubelet[18961]: E0522 12:52:05.641452 18961 kubelet.go:2344] "Container runtime network not ready" networkReady="NetworkRe...itialized"
mai 22 12:52:10 master-node kubelet[18961]: E0522 12:52:10.642237 18961 kubelet.go:2344] "Container runtime network not ready" networkReady="NetworkRe...itialized"
Sugestie: Unele linii au fost elipsate, utilizați -l pentru a le afișa în întregime.
și
[root@master-node yum.repos.d]# rpm -qa|grep containerd
containerd.io-1.6.4-3.1.el7.x86_64
[root@master-node yum.repos.d]# rpm -qa |grep kube
kubeadm-1.24.0-0.x86_64
kubectl-1.24.0-0.x86_64
kubelet-1.24.0-0.x86_64
kubernetes-cni-0.8.7-0.x86_64
De asemenea, am încercat să instalez Calico:
[root@master-node .kube]# kubectl aplică -f calico.yaml
Conexiunea la serverul localhost:8080 a fost refuzată - ați specificat gazda sau portul potrivit?
și
[root@master-node ~]# cat /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
# Notă: acest dropin funcționează numai cu kubeadm și kubelet v1.11+
[Serviciu]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
Environment="KUBELET_KUBEADM_ARGS=--node-ip=10.XXXXXX --container-runtime=remote --container-runtime-endpoint=/run/containerd/containerd.sock --cgroup-driver=systemd
# Acesta este un fișier pe care „kubeadm init” și „kubeadm join” îl generează în timpul execuției, populând variabila KUBELET_KUBEADM_ARGS în mod dinamic
EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
# Acesta este un fișier pe care utilizatorul îl poate folosi pentru suprascrieri ale argumentelor kubelet ca ultimă soluție. De preferință, utilizatorul ar trebui să folosească
# obiectul .NodeRegistration.KubeletExtraArgs din fișierele de configurare. KUBELET_EXTRA_ARGS ar trebui să provină din acest fișier.
EnvironmentFile=-/etc/sysconfig/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS
nu imi pot da seama daca:
[editare: răspund la întrebările mele de mai jos]
- din cauza containerd, trebuie să rulez un kubeadm init --config.yaml? răspuns: => [NU]
- dacă trebuie să instalez mai întâi un CNI ca Calico? răspuns: => [NU kubeadm init poate fi ok fără]
[editează] aceeași instalare este în regulă cu google dns și fără proxy de companie.