환경 변수
mac env
mac env는 기본값과 다른 설정을 표시하고, --all은 이 페이지에 없는 변수를 포함한 기본값도
표시합니다. 민감한 값은 가려서 표시하지만, 가리지 않은 출력은 공유하지 마세요. 설정을 변경한
뒤에는 역할을 다시 시작하고 mac status -v로 확인하세요.
mac env
mac env --all
mac env set KEY=VALUE
mac env unset KEY
sudo mac env set --global KEY=VALUE
sudo mac env unset --global KEY
~/.mac/env의 사용자별 설정(mac env set)은 /etc/mango/mac/env의 node 단위
설정(--global)보다 우선하고, node 단위 설정은 패키지 기본값보다 우선합니다. master 주소,
node 이름과 토큰은 node 단위 설정에 저장하세요. 사용자 설정을 무시하려면 명령 앞에
sudo env MAC_IGNORE_USER_ENV=1을 붙이세요. 명령이 ~/.mac에 대해 permission denied
경고를 출력하면 sudo chown으로 소유자를 바로잡으세요.
env 파일은 따옴표를 지원하지 않으므로 mac env set은 #으로 시작하거나, 공백이나 탭 뒤에
#가 있거나, 앞뒤에 공백이 있는 값을 거부합니다.
변수 설명
공통
| 변수 | 용도 |
|---|---|
MASTER_IP | master 주소. agent에서 필수 |
NODE_NAME | node 이름. 기본값은 호스트 이름 |
MAC_NODE_IP_PREFIX | 주소가 여러 개인 호스트에서 사용할 주소의 접두사 |
MAC_REGISTRY | 이미지 레지스트리 접두사 |
SDK_AGENT_IMAGE | 프라이빗 미러나 RHEL 계열 node에서 사용할 SDK agent 이미지 |
MAC_VERSION | 이미지 태그 재정의. 설정하지 않으면 설치된 버전 사용 |
MAC_OFFLINE | true이면 레지스트리에서 다운로드하지 않음. 오프라인 설치 프로그램이 설정 |
MAC_LOG_LEVEL | debug, info(기본값), warn, error 중 하나 |
MAC_ADMIN_PASSWORD | 사용자가 하나도 없을 때만 사용하는 admin 초기 비밀번호 |
MASTER_API_PORT, MASTER_WEB_PORT | API와 대시보드 포트. 기본값 28080, 23000 |
mac status -v의 이미지 버전이 mac version보다 오래되었다면 MAC_VERSION을 제거하세요.
호스트 사이에서 열어야 하는 포트는 설치를
참고하세요.
node 인증
MAC_NODE_TOKEN은 master와 agent가 공유하는 토큰입니다.
- 토큰이 설정되어 있지 않으면 처음
sudo mac start master를 실행할 때/etc/mango/mac/node_token이 생성됩니다. - 각 agent의 node 단위
MAC_NODE_TOKEN에 토큰을 안전하게 복사하세요. 토큰이 일치하지 않으면 node를 등록할 수 없습니다. - 토큰을 활성화하거나 교체할 때는 master를 먼저 다시 시작한 뒤 agent를 다시 시작하세요.
TLS (HTTPS)
| 변수 | 용도 |
|---|---|
MAC_TLS_ENABLED | true이면 API와 대시보드에 HTTPS 사용 |
MAC_TLS_CERT_DIR | server.crt와 server.key가 있는 호스트 디렉터리 |
MAC_TLS_CERT_FILE, MAC_TLS_KEY_FILE | 그 디렉터리의 다른 파일 이름을 쓸 때 /etc/mac/certs/<name> 형식으로 지정 |
MAC_TLS_PORT, MAC_WEB_TLS_PORT | API와 대시보드 HTTPS 포트. 기본값 28443, 23443 |
두 파일이 모두 있어야 master가 시작됩니다. HTTP 포트도 계속 열려 있으므로, 필요하면 호스트 방화벽에서 제한하세요.
스위치 접속
| 변수 | 용도 |
|---|---|
SWITCH_USER | SSH 사용자. 기본값 admin |
SWITCH_PASSWD_LIST | 쉼표로 구분한 SSH 비밀번호 후보 |
SNMP_COMMUNITY | SNMP community. 기본값 public |
SWITCH_MGMT_CIDRS | 자격 증명을 보낼 수 있는 스위치 관리 CIDR/IP |
gNMI 스트리밍 텔레메트리
gNMI를 지원하는 SONiC 스위치는 gNMI를 사용하고, 그 밖의 스위치는 SNMP를 사용합니다.
GNMI_USERNAME과 GNMI_PASSWORD를 설정하세요. GNMI_ENABLED=false로 설정하면 SNMP만
사용하며, GNMI_PORT의 기본값은 8080입니다.
LLMBoost
| 변수 | 용도 |
|---|---|
LLMBOOST_HOST_PORTS | 모델을 확인할 agent 포트. 설정하지 않으면 확인하지 않음 |
LLMBOOST_ENGINE_ENDPOINTS | 추가 OpenAI 호환 엔진 URL |
LLMBOOST_ENABLED | false이면 LLMBoost 연동 비활성화 |
LLMBOOST_DASHBOARD_URL | Grafana 링크 |
K8S_API_ENDPOINT, K8S_API_TOKEN, K8S_NAMESPACES | Kubernetes 탐색. LLMBoost 참고 |
MASS 및 BMC
| 변수 | 용도 |
|---|---|
MASS_API_ENDPOINT | MASS Manager API URL. 설정하지 않으면 연동 비활성화 |
MASS_DASHBOARD_URL | MASS 대시보드 링크 |
MASS_USERNAME, MASS_PASSWORD | MASS 서비스 계정. node 단위 설정에 저장 |
MAC_BMC_USER, MAC_BMC_PASSWORD | 개별 설정이 없는 node에 사용할 BMC 기본 자격 증명 |