kubelet-1.18.4-0.x86_64 と kubelet-1.21.3-0.x86_64 の両方をインストールすることはできません

kubelet-1.18.4-0.x86_64 と kubelet-1.21.3-0.x86_64 の両方をインストールすることはできません
[root@centos1 ~]# yum -y update
Ultima verifica della scadenza dei metadati: 8:14:04 fa il dom 01 ago 2021 19:20:32 EDT.
Errore:
 Problema: cannot install both kubelet-1.18.4-0.x86_64 and kubelet-1.21.3-0.x86_64
  - cannot install the best update candidate for package kubernetes-cni-0.8.7-0.x86_64
  - cannot install the best update candidate for package kubelet-1.21.3-0.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

答え1

これはよくある問題yum/dnf にバグがあるか、Kubernetes リポジトリの設定方法にバグがあります。

回避策の 1 つは、kubelet の不要なバージョンをマスクすることです。たとえば、次のようになります/etc/yum.conf

[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=False
exclude = kubelet-1.18.* kubelet-1.17.* kubelet-1.16.*

答え2

競合するパッケージがあるため、--allowerasingdnf を使用して競合を解決できるようにする必要があります。

dnf --allowerasing update

ここでは使用しないでください-y。インストールする前に出力を検査して意味があることを確認する必要があります。

関連情報