-1
Я посещаю курс Coursera для CKA Prep, и в рамках этого мы подготавливаем экземпляр узла на Amazon EC2, устанавливаем среду выполнения контейнера (в данном случае containerd), и теперь я нахожусь на этапе, где мне нужно установить 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, но это не помогает мне в моей текущей ситуации. Есть ли помощь/предложение?
решение1
Вы можете попробовать добавить репозиторий 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
Попробуйте еще раз выполнить установку, она должна пройти успешно.
решение2
Я столкнулся с той же проблемой, в выводе которой было указано следующее:
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
решение3
Вам необходимо отключить плагин из командной строки yum с помощью этой строки:
--disableplugin=priorities
Выполните эту команду:
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes --disableplugin=priorities