-1
Estou fazendo uma aula do Coursera para CKA Prep e como parte disso estamos provisionando uma instância de um nó no Amazon EC2, instalando o tempo de execução do contêiner (que é containerd neste caso) e agora estou na etapa em que preciso instalar kubeadmn e kubectl. Quando executo este comando:
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
Eu entendi isso:
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
Então . . . Eu tentei acessar este site (https://github.com/kubernetes-sigs/cri-tools) e baixando o crictl e o critest mais recentes, mas quando executo o mesmo comando (o acima), recebo o mesmo erro.
Também tentei executar o procedimento acima adicionando o modificador --skip-broken no final, e isso me permite executar sem erros ... MAS na verdade também não instala o kubeadm ou o kubectl. Portanto, não é muito útil. Também tentei executar o comando rpm. Isso não pareceu fazer nada.
Alguma ajuda aqui? Eu vi uma discussão em um quadro de mensagens do Kubernetes sobre como eles não deveriam ter o kubeadmn dependente de ferramentas cri, mas isso não me ajuda na minha situação atual. Alguma ajuda/sugestão?
Responder1
Você pode tentar adicionar o repositório RPM com as versões mais recentes dos pacotes CRI-O Container Runtime.
Se estiver no sistema baseado em RHEL 7, adicione o repositório conforme abaixo:
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
Para sistema baseado em RHEL 8, adicione:
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
Em seguida, instale cri-o
e cri-tools
pacotes:
sudo yum install cri-o cri-tools
E tente novamente a instalação, ela deverá ser bem-sucedida.
Responder2
Encontrei o mesmo problema em que a saída afirmava o seguinte
1 packages excluded due to repository priority protections
Somente depois de desabilitar as prioridades do repositório yum consegui buscar pacotes repo para https://pkgs.k8s.io/core:/stable:/v1.28/rpm
minha caixa AMZN linux 2.
Pergunta semelhante colocada aqui: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
Responder3
Você deve desabilitar o plugin da linha de comando do yum com esta linha:
--disableplugin=priorities
Execute este comando:
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes --disableplugin=priorities