최신 버전의 Cri-Tools가 필요하기 때문에 Kubelet, Kubeadm을 설치할 수 없습니다.

최신 버전의 Cri-Tools가 필요하기 때문에 Kubelet, Kubeadm을 설치할 수 없습니다.

-1

저는 CKA 준비를 위한 Coursera 수업을 듣고 있으며 그 일환으로 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 메시지 게시판에서 cri-tools에 의존하는 kubeadmn을 가져서는 안 된다는 토론을 보았는데, 그것은 내 현재 상황에 도움이 되지 않습니다. 도움이나 제안이 있으십니까?

답변1

CRI-O Container Runtime 패키지의 최신 릴리스를 사용하여 RPM 저장소를 추가해 볼 수 있습니다.

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

https://pkgs.k8s.io/core:/stable:/v1.28/rpmyum 저장소 우선순위를 비활성화한 후에야 AMZN Linux 2 상자에서 repo 패키지를 가져올 수 있었습니다 .

여기에 비슷한 질문이 제기되었습니다.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

관련 정보