1049 단어
5 분
N100에 쿠버네티스 설치

DevOps쪽에 관심은 많은데 취업은 어렵고.. 클라우드는 비싸고.. 서비스도 운영하고 싶고, 부하 테스트도 하고 싶은데 어찌저찌 고민해본 결과 미니 PC를 구매하자! 가 결론이 되어버렸습니다

  • 솔직히 클라우드 경험 중요하다 하지만 매달 20씩 박히던데.. 그럴빠엔 미니 PC 1대 사서 2달만 써도 본전..
  • 심지어 E코어긴하지만 4개나 박혀있어서 프리티어보단 좋습니다
  • 그리고 대규모 트래픽을 경험할 정도까지 가는건 디도스말곤 없으니 홈서버가 더 입문자에겐 정답..
  • 마지막으로 한달 내내 켜도 전기료는 몇 백원 수준입니다

그래서 알리를 통해 N100에 램 16GB, SSD 512GB 짜리를 10만원에 구매했습니다!

TIP

퀘이사존 같은 곳에서 알리 세일할 때 가격표 정리해서 누가 올려주니 그거보고 구매합시다

적당히 미니 서버도 얻었고 전기료도 얼마 안드니 이제 쿠버네티스 환경 셋팅이나 해보려고 합니다.

WARNING
  1. 우분투 서버로 OS를 설치해둬야합니다.
  2. SSH 설정도 미리 해주세요
  3. 포트포워딩도 다 알아서 하세요

쿠버네티스 설치#

1. 최신 상태로 업데이트#

Terminal window
sudo apt update && sudo apt upgrade -y
  • 쿠버네티스를 설치하기 전 최신 상태로 업데이트합니다

2. 메모리 스왑 비활성화#

Terminal window
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
  • 쿠버네티스는 메모리 스왑을 사용하지 않는데, 이건 kubelet이 이러한 상황을 처리하도록 만들어지지 않아서입니다.
  • Swap 기능은 본래 가용 메모리보다 더 큰 메모리를 할당하는 장점이 있습니다.
  • 다만, 이러면 컨테이너 속도가 변칙적이고 고려사항도 많아지며, 이는 쿠버네티스가 지원하지 않으니 꺼버립시다

3. K3S 설치#

Terminal window
curl -sfL https://get.k3s.io | sh -s - --write-kubeconfig-mode 644
  • N100은 생각보다 크면서도 작은 서버라(클라우드보단 싸고 좋을 것).. K3S를 사용합니다. K8S는 생각보다 빡빡합니다

4. 워커 노드 합류 (단일 서버인 경우 패스)#

Terminal window
sudo cat /var/lib/rancher/k3s/server/node-token
curl -sfL https://get.k3s.io | K3S_URL=https://<마스터_노드_IP>:6443 K3S_TOKEN=<복사한_토큰_값> sh -
  • 이 부분은 저도 장비가 1대밖에 없어서 일단 패스합니다. (당근 아니면 알리에서 10미만으로 찾는중..)
  • 당장은 마스터와 워커가 같이 사용되는 형태지만 이 부분은 차차 장비가 생기면 바꿔보겠습니다.

Kubectl 설치#

이제 로컬 환경에서 편하게 쿠버네티스를 사용하기 위해 kubectl 작업을 진행합시다.

1. (서버) kubeconfig 파일 복사#

Terminal window
cat /etc/rancher/k3s/k3s.yaml
  • 서버에서 설정된 파일을 가져온 후 이 값들을 복사합니다
WARNING

여기서 server: https://127.0.0.1:6443 로 되어있는 항목은 실제 서버 주소로 변경해야합니다!

  • https는 무조건 유지해야합니다
  • 내부인 경우 내부 서버 주소, 외부인 경우 외부 서버 주소로 변경합니다.

2. (로컬) kubectl 설치#

Terminal window
winget install -e --id Kubernetes.kubectl
  • 로컬 서버에 kubectl을 설치합니다. 맥북의 경우 명령어를 찾아서 바꿔주세요

3. kube 디렉터리 생성#

Terminal window
mkdir $HOME\.kube
  • 해당 폴더 경로에 config 파일 만들어서, 1번에서 복사한 값들을 넣어줍니다

4. 설치 확인#

Terminal window
kubectl get nodes
  • 정상적으로 node가 뜬다면 성공입니다

사진도 좀 넣을걸 그랬나 싶긴한데 뭔가 찍기 귀찮아져서 안했습니다

추가 (쿠버네티스 업데이트)#

  • 주기적으로 쿠버네티스는 업데이트가 뜨는데 보안상 버전 이슈 아니면 업데이트 주기가 있으면 좋을 거 같습니다.
Terminal window
curl -LO "https://dl.k8s.io/release/stable.txt"
type stable.txt
Terminal window
curl -LO "https://dl.k8s.io/release/v{최신 버전}/bin/windows/amd64/kubectl.exe"
N100에 쿠버네티스 설치
https://devlog.jpstudy.org/posts/2025/devops/n100_k3s/
저자
SY
게시일
2025-09-22
라이선스
CC BY-NC-ND 4.0