Dashboard リファレンス
Kubetail Dashboard は、Dashboard の Web UI をホストし、Web UI が Kubernetes クラスタとやり取りするために使うバックエンド API を提供する Go ベースの HTTP サーバーです。サーバー実行ファイルは Kubetail リポジトリ内の modules/dashboard にあるソースコードからビルドされ、通常は kubetail-dashboard Docker イメージを使ってデプロイされます(下記参照)。kubetail-dashboard を単独コンテナとして実行することも可能ですが、公式の Kubetail Helm Chart を使ったデプロイを推奨します。
Docker イメージ
「Docker イメージ」セクションへのリンクkubetail-dashboard Docker イメージは、各リリースごとに Docker Hub と GitHub Container Registry に公開されます。
| Registry | Image |
|---|---|
| Docker Hub | kubetail/kubetail-dashboard |
| GHCR | ghcr.io/kubetail-org/kubetail-dashboard |
2 つのバリアントが利用できます。
| タグ接尾辞 | ベースイメージ | 説明 |
|---|---|---|
| (なし) | 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 の動作を定義します。# Web UI を提供し、dashboard 用のバックエンド API を提供します。#
## allowed-namespaces #### Dashboard がアクセスを許可される namespace の一覧です。# 空の場合はすべての namespace にアクセスできます。## 既定値: []#allowed-namespaces: []
## allowed-origins #### WebSocket アップグレードリクエストで(same-origin に加えて)# 受け入れる追加のオリジンです。各エントリは完全修飾オリジン# (scheme://host[:port]、パスなし)である必要があります。比較は# ホストについて大文字小文字を区別せず、デフォルトポートを正規化# します(そのため https://example.com は https://example.com:443# と一致します)。## Host を書き換えたり scheme を保持せずに TLS を終端するリバース# プロキシの背後で Dashboard を実行する場合にこの設定を使用します。# この場合、r.Host/r.TLS に対する直接の same-origin 一致は正当な# ブラウザリクエストを拒否してしまうためです。Dashboard が提供# される公開向けのオリジンを記載してください。## 例:# - 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 ## # # アクセスログからヘルスチェック要求 (/healthz) を除外するかどうか # # 既定値: false # hide-health-checks: false
## session #### セッション管理設定#session:
## key-pairs ## # # セッション Cookie 用の署名/暗号化キーペアを 1 つ以上指定します。 # 最初のペアは新しい Cookie の生成に使用され、追加のペアは読み取り # のみ受け付けられます。これによりダウンタイムなしでのキーローテー # ションが可能になります。 # # 各ペアの構成: # signing-key (必須)— hex エンコードされた HMAC 署名鍵。32 または 64 バイトのバイナリ長を推奨 # encryption-key (任意)— hex エンコードされた AES 暗号化鍵。16、24、32 バイトのバイナリ長 # # 空のとき 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