![无法同时安装 kubelet-1.18.4-0.x86_64 和 kubelet-1.21.3-0.x86_64](https://linux22.com/image/769030/%E6%97%A0%E6%B3%95%E5%90%8C%E6%97%B6%E5%AE%89%E8%A3%85%20kubelet-1.18.4-0.x86_64%20%E5%92%8C%20kubelet-1.21.3-0.x86_64.png)
[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 存储库设置方式中存在错误。
一种解决方法是屏蔽不需要的 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
因为您有冲突的包,所以您应该使用--allowerasing
允许 dnf 解决冲突。
dnf --allowerasing update
不要-y
在这里使用;您想在安装之前检查输出以确保它有意义。