Mac에서 Multipass로 K3s 클러스터 구축하기

2 분 소요

Prerequisite

Homebrew 설치

Mac에서 Multipass 및 K3s를 설치하기 위해 Homebrew가 필요합니다. Homebrew가 설치되지 않았다면 아래 명령어를 실행하여 설치하세요.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Multipass 설치

Multipass는 Canonical에서 제공하는 경량 가상 머신 관리 도구로, Mac에서 간단하게 Ubuntu 인스턴스를 실행할 수 있습니다.

📌 공식 문서: Multipass Documentation

$ brew install --cask multipass

Multipass를 이용한 K3s 노드 생성

Multipass를 사용하여 K3s를 구성할 마스터 노드와 워커 노드를 생성합니다.

$ multipass launch --name k3s-master --cpus 4 --memory 2G --disk 10G 22.04
$ multipass launch --name k3s-worker1 --cpus 4 --memory 4G --disk 10G 22.04
$ multipass launch --name k3s-worker2 --cpus 4 --memory 4G --disk 10G 22.04

Multipass 기본 명령어

$ multipass find        # 사용할 수 있는 이미지 목록 조회
$ multipass list        # 현재 실행 중인 인스턴스 목록 조회
$ multipass delete k3s  # 특정 인스턴스 삭제

Multipass VM 리소스 변경

Multipass에서 VM의 CPU, 메모리, 디스크 크기를 변경할 수 있습니다.

# VM의 리소스 조회
$ multipass info k3s-master

# 사용 가능한 설정 키 조회
$ multipass get --keys

# 특정 설정 값 조회
$ multipass get local.k3s-master.memory

# VM을 중지 후 메모리 증가
$ multipass stop k3s-master
$ multipass set local.k3s-master.memory=4G
$ multipass start k3s-master

# 변경 사항 확인
$ multipass info k3s-master

Multipass 인스턴스에 K3s 설치

📌 공식 문서: K3s Quick-Start Guide

마스터 노드에 K3s 설치

# multipass 인스턴스 접속
$ multipass shell k3s-master

# 패키지 업데이트
$ sudo apt-get update && sudo apt-get upgrade -y

# K3s 마스터 노드 설치
$ curl -sfL https://get.k3s.io | sh -s - server \
  --token=SECRET \
  --node-taint CriticalAddonsOnly=true:NoExecute \
  --write-kubeconfig-mode 644

워커 노드에 K3s 설치

# multipass 인스턴스 접속
$ multipass shell k3s-worker1
$ multipass shell k3s-worker2

# 패키지 업데이트
$ sudo apt-get update && sudo apt-get upgrade -y

# 마스터 노드의 IP를 확인하고 변경
$ curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="agent --server https://192.168.64.3:6443 --token SECRET" sh -s -

K3s 삭제 명령어

$ /usr/local/bin/k3s-uninstall.sh         # 마스터 노드에서 삭제
$ /usr/local/bin/k3s-agent-uninstall.sh   # 워커 노드에서 삭제

Mac에서 kubectl로 K3s 클러스터 연결

📌 공식 문서: Install kubectl on macOS

$ brew install kubectl

클러스터의 kubeconfig를 Mac으로 가져와야 합니다. 마스터 노드에서 ~/.kube/config를 로컬로 복사한 후, server 주소를 수정해야 합니다.

# 마스터 노드에서 config 파일을 Mac으로 복사
$ multipass transfer k3s-master:/etc/rancher/k3s/k3s.yaml ~/.kube/config

# config 파일 수정
# server: https://127.0.0.1:6443 -> server: https://192.168.64.3:6443

kubectl autocomplete 설정

📌 공식 문서:

# Zsh
echo 'source <(kubectl completion zsh)' >> ~/.zshrc
source ~/.zshrc

# Bash
echo 'source <(kubectl completion bash)' >> ~/.bashrc
source ~/.bashrc

이제 Mac에서 Multipass를 사용하여 K3s 클러스터를 쉽게 구축하고 관리할 수 있습니다. Kubernetes 실습 환경이 필요할 때 활용해 보세요! 🚀

댓글남기기