쿠버네티스 설치 최종이다. WSL -> Docker -> 결국 가상머신을 사용한다. 참고자료도 아주 많다
oracle virtual box에서 여러 vm을 만들고, 각각 vm에 마스터, 워커 노드를 할당하자
그렇다면 얘네끼리 어떤 네트워크를 구성할 것인가?
별도의 DHCP 서버가 따로 있어서 버추얼박스 내 가상 서버들이 저 친구로부터 각각 IP를 할당 받을 수 있게 된 것이다
실제 실습
- NAT network 생성
- Master VM 생성 (ubuntu 20.04 사용)
일단 vm 하나만 세팅하고, 후에 worker는 세팅된거를 복사해서 쓰자. 환경설정 각각하기 귀찮다.
ex) language 변경 -> canada로 변경해주자. 아니면 터미널이 안열린다.
ex) 클립보드 공유 -> 양방향 + 링크 참고
- 네트워크 설정
이 뒤에선, 해당 깃헙을 참고한다.
sudo apt update
sudo apt install -y docker.io nfs-common dnsutils curl
# k3s 마스터 설치
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="\
--disable traefik \
--disable metrics-server \
--node-name master --docker" \
INSTALL_K3S_VERSION="v1.18.6+k3s1" sh -s -
# 마스터 통신을 위한 설정
mkdir ~/.kube
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown -R $(id -u):$(id -g) ~/.kube
echo "export KUBECONFIG=~/.kube/config" >> ~/.bashrc
source ~/.bashrc
# 설치 확인
kubectl cluster-info
# Kubernetes master is running at https://127.0.0.1:6443
# CoreDNS is running at https://127.0.0.1:6443/api/v1/namespaces...
#
# To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
kubectl get node -o wide
# NAME STATUS ROLES AGE VERSION INTERNAL-IP ...
# master Ready master 27m v1.18.6+k3s1 10.0.1.1 ...
다음과 같이, 마스터 노드가 설치되었고, Ready상태임을 알 수 있다.
1. 마스터 노드 토큰 확인
NODE_TOKEN=$(sudo cat /var/lib/rancher/k3s/server/node-token)
echo $NODE_TOKEN
2. 마스터 노드 IP 확인
MASTER_IP=$(kubectl get node master -ojsonpath="{.status.addresses[0].address}")
echo $MASTER_IP
NODE_TOKEN=<마스터에서 확인한 토큰 입력>
MASTER_IP=<마스터에서 얻은 내부IP 입력>
sudo apt update
sudo apt install -y docker.io nfs-common curl
# k3s 워커 노드 설치
curl -sfL https://get.k3s.io | K3S_URL=https://$MASTER_IP:6443 \
K3S_TOKEN=$NODE_TOKEN \
INSTALL_K3S_EXEC="--node-name worker --docker" \
INSTALL_K3S_VERSION="v1.18.6+k3s1" sh -s -
kubectl get node -o wide
해당 명령어를 입력했을때 마스터, 워커노드가 떠야한다. 워커노드가 반영되기까지 최대 2분까지 걸린다.
해당 블로그들을 참고하였습니다!
https://coffeewhale.com/kubernetes/cluster/virtualbox/2020/08/31/k8s-virtualbox/
https://mi2mic.tistory.com/211