vagrant와 virtualbox을 이용하여 윈도우에 개발용 쿠버네티스 클러스터 구축
1. 기본 프로그램 설치
윈도우에도 cli 패키지매니저가 탑재되었다! winget이라는 도구로 아래 링크에서 확인할 수 있다.
https://github.com/microsoft/winget-cli
winget install virtualboxwinget install vagrant
2. VM 구축
아래 링크를 확인한다.
https://pyrasis.com/jHLsAlwaysUpToDateKubernetes/Unit06/02
Vagrantfile을 확인하고 수행하면 가상머신들이 올라온다. vagrant status를 통해 잘 올라왔는지 확인해보자.
master하나와 worker 세개가 잘 보이면 잘 올라온거다. vagrant ssh 명령을 통해 수행해 볼 수 있다.
vagrant upvagrant 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.gpgecho "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.gpgecho "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 checkserror 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)/