Невозможно установить Kubelet, Kubeadm, поскольку для этого требуется более поздняя версия Cri-Tools
-1
Я прохожу курс CKA Prep на Coursera, и в рамках него мы подготавливаем экземпляр узла на Amazon EC2, устанавливаем среду выполнения контейнера (в данном случае это контейнер), и теперь я нахожусь на этапе, на котором мне нужно установить kubeadmn и kubectl. Когда я запускаю эту команду:
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
Я понимаю это:
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
Так . . . Я попытался зайти на этот сайт (https://github.com/kubernetes-sigs/cri-tools) и загрузить самые последние версии crictl и critest, но когда я запускаю ту же команду (приведенную выше), я получаю ту же ошибку.
Я также попробовал запустить вышеописанное, добавив в конце модификатор --skip-broken, и это позволяет мне работать без ошибок... НО на самом деле это также не устанавливает kubeadm или kubectl. Так что это не очень полезно. Также я попробовал запустить команду rpm. Казалось, это ничего не дало.
Есть ли здесь помощь? Я видел дискуссию на форуме kubernetes о том, что kubeadmn не должен зависеть от cri-tools, но это не помогает мне в моей текущей ситуации. Любая помощь/предложение?
3 ответа
Вы можете попробовать добавить репозиторий RPM с последними выпусками пакетов CRI-O Container Runtime.
Если вы используете систему на базе RHEL 7, добавьте репозиторий, как показано ниже:
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
Для системы на базе RHEL 8 добавьте:
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
Затем установитеcri-o
иcri-tools
пакеты:
sudo yum install cri-o cri-tools
И повторите попытку установки, она должна пройти успешно.
Вам нужно отключить плагин из командной строки yum с помощью этой строки:
--disableplugin=priorities
Запустите эту команду:
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes --disableplugin=priorities
Я столкнулся с той же проблемой, в которой в выводе было указано следующее
1 packages excluded due to repository priority protections
Только после отключения приоритетов репозитория yum я смог получить пакеты репо изhttps://pkgs.k8s.io/core:/stable:/v1.28/rpm
в мой ящик AMZN Linux 2.
Аналогичный вопрос задан здесь: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