Rustcost 개발로그 #1 Windows·macOS 개발환경에서 Docker Desktop + K8s 세팅 후기

Windows·macOS 개발환경에서 Docker Desktop + K8s 세팅 후기

Rustcost 프로젝트는 그동안 리눅스 계열에서 kubeadm 기반으로 Kubernetes를 구성해 개발을 진행해왔습니다.
이 경우 metrics-server가 기본으로 설치되며 큰 문제 없이 동작해 왔습니다.

최근 프론트엔드 개발자 @박동휘 bro 님이 프로젝트에 합류하시면서,
Windows·macOS 환경에서 Docker Desktop 기반의 Kubernetes 개발환경을 구성하게 되었고,
Rustcost를 Windows에서 실행해본 경험을 공유합니다.

  1. Docker Desktop 설치 (Windows 기준)

가장 먼저 Docker Desktop 설치가 필요합니다.
공식 문서 → https://docs.docker.com/get-started/

  1. Helm 설치
winget install Helm.Helm
helm versio

3.Rustcost Helm 차트 배포
현재 개발 중인 버전은 dev.13 브랜치 기준입니다.

git clone https://github.com/rustcost/rustcost-helmchart.git
cd rustcost-helmchart

helm upgrade --install rustcost . `
  -n rustcost --create-namespace
  1. PVC·PV 확인 및 로컬 스토리지 접근

Docker Desktop의 Kubernetes는 로컬 디렉토리에 PV를 저장합니다.

kubectl get pvc -n rustcost
kubectl get pv <PV-NAME> -o yaml

docker run -it --privileged --pid=host alpine:latest nsenter -t 1 -m -u -n -i sh
cd /var/lib/k8s-pvs/rustcost-pvc/<PV-NAME>

PVC가 정상적으로 생성되고 마운트된 경로가 보이면 OK입니다.

  1. Metrics Server 설치 및 패치

Docker Desktop의 K8s 환경은 metrics-server가 기본 제공되지 않아 직접 설치해야 합니다.

1) metrics-server 설치

kubectl apply -f \
https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

2) 인자(Args) 패치 — Docker Desktop 환경 호환

kubectl patch deployment metrics-server -n kube-system --type=json `
  -p "[{
    \"op\": \"replace\",
    \"path\": \"/spec/template/spec/containers/0/args\",
    \"value\": [
      \"--cert-dir=/tmp\",
      \"--secure-port=4443\",
      \"--kubelet-insecure-tls\",
      \"--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname\"
    ]
  }]"

3) 롤아웃 (재시작)

kubectl rollout restart deployment metrics-server -n kube-system

4) APIService 확인

kubectl get apiservices | Select-String metrics

5) (옵션) Metrics 정상 출력 확인

kubectl top pods
kubectl top nodes

6. PVC 다시 확인

Rustcost가 사용하는 다른 PVC를 확인할 때도 동일하게 확인 가능:

kubectl get pvc -n rustcost
kubectl get pv <PV-NAME> -o yaml

docker run -it --privileged --pid=host alpine:latest nsenter -t 1 -m -u -n -i sh
cd /var/lib/k8s-pvs/rustcost-pvc/<PV-NAME>

마무리

Windows·macOS 환경에서 Docker Desktop 기반의 Kubernetes를 사용하면,
리눅스에서 kubeadm 환경과 달리 metrics-server 설치나 PV 경로 확인 등의 추가 작업이 필요합니다.

Rustcost 개발환경을 Windows에서 구축하고 테스트하는 과정에서 얻은 정보가
비슷한 환경을 구성하는 분들께 도움이 되길 바랍니다

5 Likes

RustCost는 대한민국 최초로 CNCF incubator 등재를 목표로 하는 프로젝트이기도 합니다.
오픈소스 생태계에서 의미 있는 레퍼런스가 될 수 있도록 꾸준히 발전시키고 있습니다.

GitHub의 Star(:star:)Watch 는 프로젝트 성장에 정말 큰 힘이 됩니다.
관심 가져주시면 진심으로 감사드리겠습니다!

:link: GitHub: https://github.com/rustcost

3 Likes