Încercam să creez un cluster Kubernetes folosind kubeadm. Am pornit un server Ubuntu 18.04, am instalat docker (m-am asigurat că rulează docker.service), am instalat kubeadm kubelet și kubectl.
Următorii sunt pașii pe care i-am făcut:
sudo apt-get update
sudo apt-get install docker.io -y
sudo systemctl enable docker
sudo systemctl start docker
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
sudo apt-get install kubeadm kubelet kubectl -y
sudo apt-mark hold kubeadm kubelet kubectl
versiunea kubeadm
swapoff âa
sudo hostnamectl set-hostname master-node
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
Odată după ce am fugit sudo kubeadm init --pod-network-cidr=10.244.0.0/16, am primit următoarea eroare:
root@ip-172-31-10-50:/home/ubuntu# sudo kubeadm init --pod-network-cidr=192.168.0.0/16
[init] Folosind versiunea Kubernetes: v1.23.1
[preflight] Executare verificări înainte de zbor
[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] Folosind autoritatea de certificare CA existentă
[cert] Folosind certificatul apiserver existent și cheia de pe disc
[cert] Folosind certificatul apiserver-kubelet-client existent și cheia de pe disc
[cert] Folosind autoritatea de certificare front-proxy-ca existentă
[cert] Folosind certificatul front-proxy-client existent și cheia de pe disc
[cert] Folosind autoritatea de certificare etcd/ca existentă
[cert] Folosind certificatul etcd/server existent și cheia de pe disc
[cert] Folosind certificatul etcd/peer existent și cheia de pe disc
[cert] Folosind certificatul etcd/healthcheck-client existent și cheia de pe disc
[certs] Folosind certificatul apiserver-etcd-client existent și cheia de pe disc
[cert] Folosind cheia existentă „sa”.
[kubeconfig] Folosind folderul kubeconfig „/etc/kubernetes”
[kubeconfig] Folosind fișierul kubeconfig existent: „/etc/kubernetes/admin.conf”
[kubeconfig] Folosind fișierul kubeconfig existent: „/etc/kubernetes/kubelet.conf”
[kubeconfig] Folosind fișierul kubeconfig existent: „/etc/kubernetes/controller-manager.conf”
[kubeconfig] Folosind fișierul kubeconfig existent: „/etc/kubernetes/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
[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”: formați tcp 127.0.0.1:10248: conectați : conexiune refuzata.
Am încercat să fug kubectl init --pod-network-cidr folosind CIDR Flannel (10.244.0.0/16) Si deasemenea CIDR lui Calico (192.168.0.0/16). Totuși, am primit aceeași eroare.
De asemenea, am observat că statutul de Kubelet în cazul meu EC2 a fost fluctuant. Când am fugit starea systemctl kubelet.service, uneori nu rula și alteori rula Kubelet-ul. Se întâmplă automat. Gândiți-vă că acesta este ceea ce eșuează kubectl init din moment ce kubelet-check spune clar: „Se pare că kubeletul nu funcționează sau nu este sănătos”
După alergare starea systemctl kubelet.service, eroarea:
root@ip-172-31-10-50:/home/ubuntu# systemctl status kubelet.service
â kubelet.service - kubelet: Agentul nodului Kubernetes
Încărcat: încărcat (/lib/systemd/system/kubelet.service; activat; prestabilit furnizor: activat)
Drop-in: /etc/systemd/system/kubelet.service.d
ââ10-kubeadm.conf
Activ: se activează (repornire automată) (Rezultat: cod de ieșire) din miercuri 29-12-2021 17:52:35 UTC; acum 3s
Documente: https://kubernetes.io/docs/home/
Proces: 22901 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS (code=exited, status=1/FAILURE)
PID principal: 22901 (cod=ieșit, stare=1/Eșec)
Și când continui să alerg starea systemctl kubelet.service, după câteva secunde, kubectl.service pare să ruleze și după câteva secunde, eșuează din nou.
...sărind...
â kubelet.service - kubelet: Agentul nodului Kubernetes
Încărcat: încărcat (/lib/systemd/system/kubelet.service; activat; prestabilit furnizor: activat)
Drop-in: /etc/systemd/system/kubelet.service.d
ââ10-kubeadm.conf
Activ: activ (în rulare) din joi 2021-12-30 18:50:49 UTC; acum 125 ms
Documente: https://kubernetes.io/docs/home/
PID principal: 12895 (kubelet)
Sarcini: 9 (limită: 4686)
CGroup: /system.slice/kubelet.service
ââ12895 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf > --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib /kubelet/conf
Nu sunt sigur de ce kubelet fluctuează în acest fel.
Stie cineva cum sa repare asta?