Kubelet, Kubeadm kann nicht installiert werden, da eine neuere Version von Cri-Tools erforderlich ist

Kubelet, Kubeadm kann nicht installiert werden, da eine neuere Version von Cri-Tools erforderlich ist

-1

Ich besuche einen Coursera-Kurs für CKA Prep und im Rahmen dessen stellen wir eine Instanz eines Knotens auf Amazon EC2 bereit, installieren die Container-Laufzeit (in diesem Fall containerd) und jetzt bin ich bei dem Schritt, bei dem ich kubeadmn und kubectl installieren muss. Wenn ich diesen Befehl ausführe:

sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

Ich bekomme Folgendes:

Error: Package: kubeadm-1.28.1-150500.1.1.x86_64 (kubernetes)
           Requires: cri-tools >= 1.28.0
           Available: cri-tools-1.25.0-1.amzn2.0.1.x86_64 (amzn2-core)
               cri-tools = 1.25.0-1.amzn2.0.1
           Available: cri-tools-1.26.1-1.amzn2.0.1.x86_64 (amzn2-core)
               cri-tools = 1.26.1-1.amzn2.0.1
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Also ... ich habe versucht, auf diese Site zu gehen (https://github.com/kubernetes-sigs/cri-tools) und lade die aktuellsten Versionen von Crictl und Critest herunter, aber wenn ich denselben Befehl ausführe (den oben), erhalte ich den gleichen Fehler.

Ich habe auch versucht, das obige auszuführen, indem ich am Ende den Modifikator --skip-broken hinzugefügt habe, und das ermöglicht mir die Ausführung ohne Fehler ... ABER es installiert auch nicht wirklich kubeadm oder kubectl. Es ist also nicht sehr hilfreich. Ich habe auch versucht, den RPM-Befehl auszuführen. Das schien nichts zu bewirken.

Kann mir jemand helfen? Ich habe in einem Kubernetes-Forum eine Diskussion darüber gesehen, dass Kubeadmn nicht von Cri-Tools abhängig sein sollte, aber das hilft mir in meiner aktuellen Situation nicht weiter. Irgendeine Hilfe/Vorschlag?

Antwort1

Sie können versuchen, ein RPM-Repository mit den neuesten Versionen der CRI-O Container Runtime-Pakete hinzuzufügen.

Wenn Sie ein RHEL 7-basiertes System verwenden, fügen Sie das Repository wie folgt hinzu:

VERSION=1.28
sudo curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/CentOS_7/devel:kubic:libcontainers:stable.repo
sudo curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable:cri-o:${VERSION}.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:${VERSION}/CentOS_7/devel:kubic:libcontainers:stable:cri-o:${VERSION}.repo

Für RHEL 8-basierte Systeme fügen Sie hinzu:

VERSION=1.28
OS=CentOS_8
curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/devel:/kubic:/libcontainers:/stable.repo
curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable:cri-o:$VERSION.repo https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/$VERSION/$OS/devel:kubic:libcontainers:stable:cri-o:$VERSION.repo

Dann installieren cri-ound cri-toolsverpacken Sie:

sudo yum install cri-o cri-tools

Und versuchen Sie die Installation erneut. Sie sollte erfolgreich sein.

Antwort2

Ich bin auf dasselbe Problem gestoßen, bei dem die Ausgabe Folgendes lautete

1 packages excluded due to repository priority protections

Erst nachdem ich die Yum-Repository-Prioritäten deaktiviert hatte, konnte ich Repo-Pakete von https://pkgs.k8s.io/core:/stable:/v1.28/rpmmeiner AMZN-Linux-2-Box abrufen.

Ähnliche Frage hier gestellt:https://serverfault.com/questions/312472/what-does-that-mean-packages-excluded-due-to-repository-priority-protections

[root@ip-172-31-89-230 system]# sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
1 packages excluded due to repository priority protections        
Resolving Dependencies
--> Running transaction check
---> Package kubeadm.x86_64 0:1.28.2-150500.1.1 will be installed

Antwort3

Sie müssen das Plugin über die Befehlszeile von Yum mit dieser Zeile deaktivieren:

--disableplugin=priorities

Führen Sie diesen Befehl aus:

sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes --disableplugin=priorities

verwandte Informationen