vagrant와 virtualbox을 이용하여 윈도우에 개발용 쿠버네티스 클러스터 구축

1. 기본 프로그램 설치

윈도우에도 cli 패키지매니저가 탑재되었다! winget이라는 도구로 아래 링크에서 확인할 수 있다.

https://github.com/microsoft/winget-cli

winget install virtualbox
winget install vagrant

2. VM 구축

아래 링크를 확인한다.

https://pyrasis.com/jHLsAlwaysUpToDateKubernetes/Unit06/02

Vagrantfile을 확인하고 수행하면 가상머신들이 올라온다. vagrant status를 통해 잘 올라왔는지 확인해보자.

master하나와 worker 세개가 잘 보이면 잘 올라온거다. vagrant ssh 명령을 통해 수행해 볼 수 있다.

vagrant up
vagrant status\
vagrant ssh [master|worker[1|2|3]]

vagrant up을 해도 kubernetes 관련 패키지 설치가 정상적으로 이루어지지 않는 경우가 있는 것 같은데 아키텍처를 바로 글어서 처리해야 될 필요가 있을 것 같다.

https://github.com/kubernetes/release/issues/2862

아래 명령으로 gpg 파일을 땡기고 vagrantfile의 kubernetes 패키지 설치 부분부터 다시 진행하자. 마스터와 워커에 해당하는 부분 두 부분이 별도로 존재한다. 변경 부분을 보면 deb의 파라미터 중 arch에 현재 아키텍쳐를 강제로 때려 넣는 부분이 추가되었음을 알 수 있다.

변경 전

sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

변경 후

sudo curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --yes --dearmor -o /usr/share/keyrings/kubernetes-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list > /dev/null

preflight phase error

vagrant@worker1:/vagrant$ sudo ./join.sh
[preflight] Running pre-flight checks
error execution phase preflight: couldn't validate the identity of the API Server: could not find a JWS signature in the cluster-info ConfigMap for token ID "sf7433"
To see the stack trace of this error execute with --v=5 or higher

솔루션

token을 재생성하고 다시 조인

https://gain-yoo.github.io/trouble%20shooting/Trouble-Shooting-(2)/