Невозможно установить 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
Другие вопросы по тегам