[Kubernetes] CentOS에서 No package kubelet, kubectl, kubeadm available 해결방법
Infra/kubernetes | 2022. 7. 23. 17:08
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
반응형
'Infra > kubernetes' 카테고리의 다른 글
Lens 대체제, OpenLens (0) | 2023.01.03 |
---|---|
[Kubernetes] containerd.io 설치 후 container runtime is not running 오류가 나오는 현상 (0) | 2022.08.13 |
[Kubernetes] 소개 (0) | 2021.04.24 |
kubectl alias 및 자동완성 설정 방법 (0) | 2020.12.26 |