본문 바로가기

Project

홈서버에 k8s 설치후 단일노드 구성하기 (+ 대시보드 원격 접속)

728x90

집에 있는 홈서버에 k8s 환경을 구성하여 토이프로젝트를 편리하게 배포&운영 해보려고 한다.

홈서버 구성은 대략적으로 다음과 같다.

- AMD Ryzen 9 7900
- RAM 64G
- SSD 2TB
- RTX 3090 FE

 

1. minukube 설치 

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

sudo install minikube-linux-amd64 /usr/local/bin/minikube

 

2. kubectl 설치

sudo apt-get update

sudo apt-get install -y kubectl

 

⚠️ kubectl 설치시 Unable to locate package kubectl 와 같은 오류가 발생할 경우 아래와 같이 진행한다.
참고 : https://hostnextra.com/learn/tutorials/how-to-install-kubernetes-k8s-on-ubuntu

2-1) Add the Kubernetes apt repository

echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list

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

 

2-2) Install the Kubernetes components:

sudo apt update

sudo apt install -y kubelet kubeadm kubectl

2-3) 자동 업데이트 방지

sudo apt-mark hold kubelet kubeadm kubectl

 

3. 메모리 스왑 비활성화

sudo swapoff -a

sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

 

4. 클러스터 실행 및 확인

minikube start
minikube status

 

minikube profile list

minikube 가 정상적으로 실행이 되었다면, 다음과 같이 status 및 profile list 을 확인할 수 있다.



이렇게 클러스터 구성은 완료 되었고, 원격지 서버로 활용해야 하니 대시보드 접속이 필요하다.

5. 대시보드 addons 활성 여부 확인

minikube addons list

dashboard 가 disabled 상태인 것을 볼 수 있다.

6. 대시보드 활성화

minikube addons enable dashboard

 

7. 대시보드 실행

minikube dashboard

처음 실행시 로컬환경(127.0.0.1) 으로 접속 정보가 제공된다.

우분투 서버에서 접속도 불가하고, 원격에서 접속해야 하므로 호스트 변경이 필요하다.

호스트 정보 뒤 url 은 dashboard 접속 정보이니 따로 메모해두자.

 

8. 대시보드 원격 접속 허용

kubectl proxy --address='0.0.0.0' --disable-filter=true &

본인의 서버 IP 를 참고하여 8001 포트 (기본) 로 접속하면 아래와 같이 dashboard 접속이 가능하다.

 

이로써 기본적인 설정은 완료되었고, 이후 deployment, service, pod 등을 작성하여 서비스 배포를 진행하면 된다.

728x90