인프런 커뮤니티 질문&답변

땃쥐님의 프로필 이미지
땃쥐

작성한 질문수

데브옵스(DevOps)를 위한 쿠버네티스 마스터

노드 준비하기

2024년 3월 4일 기준 설치

작성

·

1.3K

·

수정됨

2

아래에 23년 당시 설치방법을 올리신 분의 것으로도 잘 안 되서... 그 사이에 또 바뀌었나 싶어서 노션 링크의 공식 문서를 보고 따라했습니다만 apt 명령으로 kubelet, kubeadm, kubectl이 설치가 안 되는 문제가 있습니다.

 

노션 링크의 공식문서는 한국어 문서였고, 최신화가 안 되어있던 것입니다. 영어 문서를 봐야합니다.

 


 

현재 공식문서에서는 이런 말이 나와있습니다.

 

Note: The legacy package repositories (apt.kubernetes.io and yum.kubernetes.io) have been deprecated and frozen starting from September 13, 2023. Using the new package repositories hosted at pkgs.k8s.io is strongly recommended and required in order to install Kubernetes versions released after September 13, 2023. The deprecated legacy repositories, and their contents, might be removed at any time in the future and without a further notice period. The new package repositories provide downloads for Kubernetes versions starting with v1.24.0.

apt.kubernetes.i and yum.kubernetes.io

  • 레거시 패키지 리포지토리 deprecated

    • apt.kubernetes.io and yum.kubernetes.io

  • 2023년 8월 13일 이후 릴리즈되는 새로운 쿠버네티스 버전을 설치하기 위해서는 새로운 패키지 리포지토리를 써라

  • 새로운 패키지 리포지토리는 1.24.0 ~ 이후의 버전을 지원

 

이런 내용이 한국어 문서에는 반영이 안 됐습니다.

 


해당 문서에서는 1.29.0을 설치하기 위해 다음을 하라고 합니다.

 

apt 패키지 인덱스를 업데이트하고 Kubernetes apt 저장소를 사용하는 데 필요한 패키지를 설치하십시오:

 

sudo apt-get update

sudo apt-get install -y apt-transport-https ca-certificates curl gpg

 

Kubernetes 패키지 저장소의 공개 서명 키를 다운로드하십시오. 모든 저장소에 동일한 서명 키가 사용되므로 URL에서 버전을 무시할 수 있습니다:
(우분투 20.04에서는 sudo mkdir -p -m 755 /etc/apt/keyrings 명령어를 입력해야합니다)

# If the folder `/etc/apt/keyrings` does not exist, it should be created before the curl command, read the note below.
# sudo mkdir -p -m 755 /etc/apt/keyrings

curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

 

적절한 Kubernetes apt 저장소를 추가하십시오. 이 저장소에는 Kubernetes 1.29에 대한 패키지만 있으므로, 다른 Kubernetes 마이너 버전을 사용하는 경우 URL에서 Kubernetes 마이너 버전을 원하는 버전에 맞게 변경해야 합니다(설치할 Kubernetes 버전의 문서를 읽고 있는지도 확인해야 합니다).

# This overwrites any existing configuration in /etc/apt/sources.list.d/kubernetes.list
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list

 

apt 패키지 인덱스를 업데이트하고 kubelet, kubeadm 및 kubectl을 설치하고 버전을 고정하십시오:

sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

 


결론

  • 바로 위 내용을 그대로 적용하신다면 아래 내용을 복사 붙여넣기 하시면 돼요.

 

cat <<EOF > kube_install.sh
# /etc/apt/keyrings 폴더 생성 및 권한 부여
sudo mkdir -p -m 755 /etc/apt/keyrings

# 1. apt 패키지 색인을 업데이트하고, 쿠버네티스 apt 리포지터리를 사용하는 데 필요한 패키지를 설치한다.
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gpg

# 2. 구글 클라우드의 공개 사이닝 키를 다운로드 한다.
sudo curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

# 3. 쿠버네티스 apt 리포지터리를 추가한다.
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list

# 4. apt 패키지 색인을 업데이트하고, kubelet, kubeadm, kubectl을 설치하고 해당 버전을 고정한다.
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
EOF

sudo bash kube_install.sh 

 

kubeadm version

실행 후 버전 확인을 해보시면 됩니다

 


 

지금 자료는 2024.03.04 기준 공식문서(영어<- 중요) 자료고

내일 당장 바뀔 수도 있습니다. 제가 지금 올린 내용을 믿으시지 마시고 일단 먼저 공식문서 (영어 <- 중요)를 참고하세요!

답변 2

0

감사합니다 덕분에 살았습니다 ㅎㅎ

0

감사합니다. 도움이 되었습니다.

땃쥐님의 프로필 이미지
땃쥐

작성한 질문수

질문하기