Je crée un cluster de test en suivant ces instructions: https://kubernetes.io/docs/getting-started-guides/fedora / fedora_manual_config / et
https://kubernetes.io/docs/getting-started -guides / fedora / flannel_multi_node_cluster / malheureusement, lorsque je vérifie mes nœuds, ce qui suit se produit:
~kubectl describe node Normal Starting 9s kubelet, pccshost2.lan.proficom.de Starting kubelet. Normal NodeHasSufficientDisk 9s kubelet, pccshost2.lan.proficom.de Node pccshost2.lan.proficom.de status is now: NodeHasSufficientDisk Normal NodeHasSufficientMemory 9s kubelet, pccshost2.lan.proficom.de Node pccshost2.lan.proficom.de status is now: NodeHasSufficientMemory Normal NodeHasNoDiskPressure 9s kubelet, pccshost2.lan.proficom.de Node pccshost2.lan.proficom.de status is now: NodeHasNoDiskPressure Normal NodeHasSufficientPID 9s kubelet, pccshost2.lan.proficom.de Node pccshost2.lan.proficom.de status is now: NodeHasSufficientPID
pour autant que j'obtienne ce problème est lié au non fonctionnement de kubelet.service sur le nœud maître:
systemctl status kubelet.service kubelet.service - Kubernetes Kubelet Server Loaded: loaded (/usr/lib/systemd/system/kubelet.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Wed 2019-03-06 10:38:30 CET; 32min ago Docs: https://github.com/GoogleCloudPlatform/kubernetes Process: 14057 ExecStart=/usr/bin/kubelet $KUBE_LOGTOSTDERR $KUBE_LOG_LEVEL $KUBELET_API_SERVER $KUBELET_ADDRESS $KUBELET_PORT $KUBELET_HOSTNAME $KUBE_ALLOW_PRIV $KU> Main PID: 14057 (code=exited, status=255) CPU: 271ms Mar 06 10:38:30 pccshost1.lan.proficom.de systemd[1]: kubelet.service: Main process exited, code=exited, status=255/n/a Mar 06 10:38:30 pccshost1.lan.proficom.de systemd[1]: kubelet.service: Failed with result 'exit-code'. Mar 06 10:38:30 pccshost1.lan.proficom.de systemd[1]: kubelet.service: Consumed 271ms CPU time Mar 06 10:38:30 pccshost1.lan.proficom.de systemd[1]: kubelet.service: Service RestartSec=100ms expired, scheduling restart. Mar 06 10:38:30 pccshost1.lan.proficom.de systemd[1]: kubelet.service: Scheduled restart job, restart counter is at 5. Mar 06 10:38:30 pccshost1.lan.proficom.de systemd[1]: Stopped Kubernetes Kubelet Server. Mar 06 10:38:30 pccshost1.lan.proficom.de systemd[1]: kubelet.service: Consumed 271ms CPU time Mar 06 10:38:30 pccshost1.lan.proficom.de systemd[1]: kubelet.service: Start request repeated too quickly. Mar 06 10:38:30 pccshost1.lan.proficom.de systemd[1]: kubelet.service: Failed with result 'exit-code'. Mar 06 10:38:30 pccshost1.lan.proficom.de systemd[1]: Failed to start Kubernetes Kubelet Server.
kubectl get no NAME STATUS ROLES AGE VERSION pccshost2.lan.proficom.de NotReady <none> 19h v1.10.3 pccshost3.lan.proficom.de NotReady <none> 19h v1.10.3
quelqu'un peut-il donner un conseil sur ce qui se passe ici et comment puis-je y remédier? Thx
4 Réponses :
a résolu le problème avec kubelet ajoutant --fail-swap-on = false "
à
KUBELET_ARGS =
dans le fichier de configuration de Kubelet. Mais le problème avec les nœuds reste le même - statut NotReady
J'ai rencontré le même problème et j'ai trouvé une solution ici a >. Essentiellement, je devais exécuter les commandes suivantes: Ensuite, je devais simplement suivre les instructions à l'écran. Ma configuration utilisait weave-net pour le réseau de pod, donc j'ai également dû exécuter swapoff -a
kubeadm reset
kudeadm init
systemctl status kubelet
kubectl apply -f weave-net.yaml
.
J'ai eu le même problème. Impossible de démarrer le service kubelet dans le nœud maître.
L'exécution de la commande ci-dessous a résolu mon problème:
$ sudo swapoff -a
$ sudo systemctl restart kubelet.service
$ systemctl status kubelet
Lorsque vous installez le cluster k8s en utilisant kubeadm
et installez kubelet dans master (Ubuntu), il crée le fichier "10-kubeadm.conf" situé dans / etc /systemd/system/kubelet.service.d
ExecStart = / usr / bin / kubelet $ KUBELET_KUBECONFIG_ARGS $ KUBELET_CONFIG_ARGS $ KUBELET_KUBEADM_ARGS $ KUBELET_KUBEADM_ARGS $ KUBELET_p>
la valeur de la variable $ KUBELET_KUBECONFIG_ARGS
est /etc/kubernetes/kubelet.conf
qui contient le certificat signé par CA. Maintenant, vous devez vérifier la validité du certificat. Si le certificat a expiré, créez le certificat à l'aide de openssl et signez-le avec votre autorité de certification.
client-certificate-data
. Si la Vadility a expiré, créez un nouveau certificat
Remarque: il est toujours prudent de faire une sauvegarde avant de commencer à apporter des modifications
cp -a / etc / kubernetes / / root /
systemctl status kubelet systemctl restart kubelet #restart kubelet
Encoder les fichiers de certificat
cat kubelet.crt | base64 cat kubelet.key | base64
Copiez le contenu encodé et mettez-le à jour dans /etc/kubernetes/kubelet.conf
.
Maintenant, vérifiez l'état de kubelet sur le nœud maître
openssl genrsa -out kubelet.key 2048 openssl req -new -key kubelet.key -subj "/CN=kubelet" -out kubelet.csr openssl x509 -req -in kubelet.csr -CA /etc/kubernetes/pki/ca.crt -CAkey /etc/kubernetes/pki/ca.key -out kubelet.crt -days 300