쿠버플로우/쿠버네티스 설치 시 생기는 문제 해결해보자.
다음 명령어로 자주 쓰이는 kublet, kubeadm, kubectl을 설치할 수 있다.
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
sudo apt-get install -y kubelet=1.15.5-00 kubeadm=1.15.5-00 kubectl=1.15.5-00
sudo apt-mark hold kubelet kubeadm kubectl
그런데 다음과 같은 에러가 떴다.
Err:2 https://packages.cloud.google.com/apt kubernetes-xenial InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B53DC80D13EDEF05
Reading package lists... Done
W: GPG error: https://packages.cloud.google.com/apt kubernetes-xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B53DC80D13EDEF05
E: The repository 'https://apt.kubernetes.io kubernetes-xenial InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
원인은 packages.cloud.google.com/apt
에 사용되는 내 키를 이해 못하는 것 (B53DC80D13EDEF05)이라고 생각했는데... 그런건 아니었다. 키를 수동으로 삭제/추가 해봤는데 똑같이 동작 안했다.
만약 같은 상황이라면 여기를 먼저 확인해보자 !
kubenates설치를 위해 /etc/apt
에 이런 내용을 추가했다.
deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable
# deb-src [arch=amd64] https://download.docker.com/linux/ubuntu (lsb_release -cs) stable
deb http://apt.kubernetes.io/ kubernetes-xenial main
# deb-src http://apt.kubernetes.io/ kubernetes-xenial main
그런데 혹시 sources.list.d
아래에도 해당 레포지토리를 추가하는 명령이 있다면 충돌이 난다.
그러므로 sources.list.d
아래 kubenates 관련 레포를 지우거나, 하나로 통합해라
이후 아래 명령어로 업데이트 하고, 쿠버네티스를 설치하자
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
sudo apt-get update
sudo apt-get install -y kubelet=1.15.5-00 kubeadm=1.15.5-00 kubectl=1.15.5-00
sudo apt-mark hold kubelet kubeadm kubectl