본문으로 건너뛰기

패키지 없이 MAC 실행하기

소스 체크아웃에서 MAC을 평가하는 상황이라면, 빌드 트리에서 직접 CLI를 실행할 수 있습니다.

소스 체크아웃에서 실행

~$ make cli
~$ ./cli/mac env set MAC_CONFIG_DIR=$PWD/deploy
~$ ./cli/mac start all --local # ./services에서 이미지를 빌드한 뒤 실행

env / pull / build / start / stop / status / clean 등 모든 서브커맨드가 동일하게 동작합니다 — 차이는 바이너리 경로와 MAC_CONFIG_DIR 뿐입니다. --local 플래그 (또는 MAC_IMAGE_SOURCE=local)를 주면 start가 레지스트리에서 받는 대신 체크아웃에서 이미지를 빌드합니다. make build / mac build는 같은 일을 별도 단계로 수행합니다.

$HOME이 노드들 사이에 NFS로 공유된다면, 체크아웃 경로가 현재 노드에만 적용되도록 mac env set 대신 셸에서 MAC_CONFIG_DIR를 export 하세요.

docker compose 직접 사용

CLI는 사실 docker compose와 에이전트 등록 절차를 묶어주는 편의 래퍼입니다. Compose를 직접 다루고 싶다면 다음과 같이 합니다.

~$ cd /etc/mango/mac # 또는 $MAC_CONFIG_DIR
~$ docker compose -f docker-compose.master.yml up -d
~$ docker compose --profile nvidia -f docker-compose.agent.yml up -d # 또는 --profile amd

GPU 벤더 익스포터 (NVIDIA는 dcgm-exporter, AMD는 rocm-exporter)는 Compose profiles:로 게이트되어 있어, docker compose -f docker-compose.agent.yml up -d만 실행하면 GPU 익스포터를 제외한 모든 것이 뜹니다. --profile nvidia 또는 --profile amd를 넘겨야 GPU 익스포터가 기동됩니다 — 이는 mac start가 감지된 GPU 프로파일에 맞춰 자동으로 넘기는 플래그입니다.

또한 mac start agent를 건너뛰면 자동 등록 단계도 함께 빠진다는 점에 유의하세요 — Prometheus가 에이전트를 정상적으로 스크랩하기 시작해야 마스터에 등장합니다.

언제 필요한가

  • 특정 git ref에서 발생한 고객 이슈를 재현할 때
  • 랩 환경에서 api-server나 web-ui를 핫 패치할 때
  • 자체 매니페스트로 MAC 이미지를 쿠버네티스에 올릴 때