w2-k8s-1.20: No package kubelet-1.20.2 available.
    w2-k8s-1.20: No package kubectl-1.20.2 available.
    w2-k8s-1.20: No package kubeadm-1.20.2 available.

centos(또는 redhat-based 배포판)에서 yum으로 설치가 안되는 경우,

 

cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
EOF

# Set SELinux in permissive mode (effectively disabling it)
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

sudo systemctl enable --now kubelet

k8s 설치시 위처럼 yum repo 목록에 k8s repo가 추가되어 있어야 하는데, exclude엔 kubelet, kubeadm, kubectl이 추가되어 있습니다. 이는 k8s 버전업은 여러 작업을 해줘야 하기 때문에 yum update를 했을 때 버전이 호로록 올라가는 것을 방지하기 위함입니다.

따라서 yum install로 설치할 때 --disableexcludes=kubernetes 옵션을 명시적으로 추가해줘야 합니다. 추가해주지 않으면 패키지가 없다고 아까처럼 나오게 됩니다.

 

아니면 basearch에 오타가 있진 않은가 체크해보세요. google yum repos에서 확인 가능합니다

 

 

Installing kubeadm

This page shows how to install the kubeadm toolbox. For information on how to create a cluster with kubeadm once you have performed this installation process, see the Using kubeadm to Create a Cluster page. Before you begin A compatible Linux host. The Kub

kubernetes.io

참고 - Installing kubeadm

반응형