Dashboard 참조
Kubetail Dashboard는 Dashboard 웹 UI를 호스팅하고, 웹 UI가 Kubernetes 클러스터와 상호작용하는 데 사용하는 백엔드 API를 제공하는 Go 기반 HTTP 서버입니다. 서버 실행 파일은 Kubetail 저장소의 modules/dashboard에 있는 소스 코드에서 빌드되며, 일반적으로 kubetail-dashboard Docker 이미지로 배포됩니다(아래 참조). kubetail-dashboard를 독립 실행형 컨테이너로 실행할 수도 있지만, 공식 Kubetail Helm 차트로 배포하는 방식을 권장합니다.
Docker 이미지
"Docker 이미지" 섹션으로 이동kubetail-dashboard Docker 이미지는 각 릴리스마다 Docker Hub와 GitHub Container Registry에 게시됩니다.
| Registry | Image |
|---|---|
| Docker Hub | kubetail/kubetail-dashboard |
| GHCR | ghcr.io/kubetail-org/kubetail-dashboard |
두 가지 변형이 제공됩니다.
| 태그 접미사 | 베이스 이미지 | 설명 |
|---|---|---|
| (없음) | scratch | 가장 작은 크기의 최소 이미지 |
-alpine | alpine | 셸과 표준 유틸리티 포함 |
엔트리포인트
"엔트리포인트" 섹션으로 이동기본 컨테이너 엔트리포인트는 /dashboard/dashboard 입니다.
dashboard [flags]| Flag | Short | Default | Description |
|---|---|---|---|
--config | -c | 설정 파일 경로(예: /etc/kubetail/dashboard.yaml) | |
--addr | -a | :8080 | 바인딩할 호스트 주소 |
--gin-mode | release | Gin 프레임워크 모드 (release, debug) |
Dashboard는 YAML, JSON 또는 TOML 설정 파일로 구성할 수 있습니다. 파일 경로는 -c / --config로 전달합니다. 설정 파일에서는 ${VARIABLE_NAME} 구문을 사용해 환경 변수를 참조할 수 있습니다.
dashboard --config /etc/kubetail/dashboard.yaml## Kubetail Dashboard Configuration File## 이 파일은 kubetail dashboard server의 동작을 정의합니다.# 웹 UI를 제공하고 dashboard용 백엔드 API를 제공합니다.#
## allowed-namespaces #### dashboard가 접근할 수 있는 namespace 목록입니다.# 비어 있으면 모든 namespace에 접근할 수 있습니다.## 기본값: []#allowed-namespaces: []
## allowed-origins #### WebSocket 업그레이드 요청에서 same-origin 외에 추가로 허용할 origin# 목록입니다. 각 항목은 fully-qualified origin이어야 하며 —# scheme://host[:port] 형식으로 path는 포함하지 않습니다. 비교는 host에# 대해 대소문자를 구분하지 않으며 기본 포트를 정규화합니다(예:# https://example.com 은 https://example.com:443 과 일치합니다).## Host를 재작성하거나 scheme을 보존하지 않은 채 TLS를 종료하는 리버스# 프록시 뒤에서 dashboard를 실행할 때 사용하세요 — 이 경우 r.Host/r.TLS# 기반의 직접적인 same-origin 매칭은 정상적인 브라우저 요청을 거부할# 수 있습니다. dashboard가 외부에 노출되는 origin을 나열하세요.## 예시:# - https://kubetail.example.com# - https://kubetail.example.com:8443## 기본값: []#allowed-origins: []
## kubeconfig #### Kubernetes API 요청에 사용할 kubeconfig 파일 경로입니다.# 비어 있으면 기본 경로(~/.kube/config) 또는 KUBECONFIG 환경 변수를 사용합니다.## 기본값: ""#kubeconfig: ""
## addr #### HTTP 서버가 바인딩할 네트워크 주소와 포트입니다.## 기본값: :8080#addr: ":8080"
## auth-mode #### dashboard의 인증 모드입니다.# 유효한 값: auto, token## 기본값: auto#auth-mode: auto
## base-path #### 모든 dashboard 엔드포인트의 기본 URL 경로입니다.## 기본값: /#base-path: /
## cluster-api-endpoint #### Cluster API 서버의 URL입니다.# 비어 있으면 Cluster API 통합이 비활성화됩니다.## 기본값: ""#cluster-api-endpoint: ""
## environment #### dashboard가 실행되는 환경입니다.# 유효한 값: desktop, cluster## 기본값: cluster#environment: cluster
## gin-mode #### Gin 프레임워크 모드입니다.# 유효한 값: debug, release## 기본값: release#gin-mode: release
## logging #### dashboard server 로그 출력 설정#logging:
## enabled ## # # 서버에서 logging을 활성화할지 여부입니다. # # 기본값: true # enabled: true
## level ## # # 출력할 최소 로그 레벨입니다. # 유효한 값: debug, info, warn, error, disabled # # 기본값: info # level: info
## format ## # # 로그 출력 형식입니다. # 유효한 값: json, pretty # # 기본값: json # format: json
## access-log ## # # HTTP 액세스 로그 설정 # access-log:
## enabled ## # # 액세스 로그를 활성화할지 여부입니다. # # 기본값: true # enabled: true
## hide-health-checks ## # # 액세스 로그에서 health check 요청(/healthz)을 숨길지 여부입니다. # # 기본값: false # hide-health-checks: false
## session #### 세션 관리 설정#session:
## key-pairs ## # # 세션 쿠키용 서명/암호화 키 쌍입니다. 첫 번째 쌍은 새 쿠키를 만드는 # 데 사용되고, 추가 쌍은 읽기 전용으로 허용되어 무중단 키 로테이션을 # 가능하게 합니다. # # 각 쌍은 다음 항목을 가집니다. # signing-key (필수) — hex 인코딩된 HMAC 서명 키. 32 또는 64 raw 바이트 권장 # encryption-key (선택) — hex 인코딩된 AES 암호화 키. 16, 24 또는 32 raw 바이트 # # 비어 있고 local-storage-dir이 설정된 경우, 첫 시작 시 임의의 키 # 쌍이 생성되어 디스크에 저장됩니다. # key-pairs: []
## cookie ## # # 세션 쿠키 설정 # cookie:
## name ## # # 세션 쿠키 이름입니다. # # 기본값: kubetail_dashboard_session # name: kubetail_dashboard_session
## path ## # # 쿠키가 유효한 URL 경로입니다. # # 기본값: / # path: /
## domain ## # # 쿠키가 유효한 도메인입니다. # 비어 있으면 현재 도메인에서만 유효합니다. # # 기본값: "" # domain: ""
## max-age ## # # 쿠키의 최대 수명(초)입니다. # # 기본값: 2592000 (30 days) # max-age: 2592000
## secure ## # # 쿠키를 HTTPS를 통해서만 전송할지 여부입니다. # # 기본값: false # secure: false
## http-only ## # # 쿠키를 JavaScript에서 접근할 수 없게 할지 여부입니다. # # 기본값: true # http-only: true
## same-site ## # # 쿠키의 SameSite 속성입니다. # 유효한 값: strict, lax, none # # 기본값: lax # same-site: lax
## tls #### HTTP 서버용 TLS 설정#tls:
## enabled ## # # TLS를 활성화할지 여부입니다. # # 기본값: false # enabled: false
## cert-file ## # # TLS 인증서 파일 경로입니다. # # 기본값: "" # cert-file: ""
## key-file ## # # TLS 개인 키 파일 경로입니다. # # 기본값: "" # key-file: ""
## ui #### UI 전용 설정 옵션#ui:
## cluster-api-enabled ## # # UI에서 Cluster API 통합을 활성화할지 여부입니다. # # 기본값: true # cluster-api-enabled: true