最小要件
Kudashaiは2つの形態で提供されます。Kudashai WebはWeb UIを内蔵した単一のサーバーバイナリ(Helmチャートとしても提供)で、ブラウザから開きます。Kudashai Desktopは同じエンジンをmacOS、Windows、Linux向けのネイティブウィンドウにパッケージしたもので、ポートフォワーディングや自動アップデートなどデスクトップ専用の機能が加わります。どちらもクラスターに直接接続するため、Kudashaiを実行するマシンから管理対象のすべてのKubernetes APIサーバーに到達できる必要があります。
Kudashai Web
サーバーホスト
| 最小 | 推奨 | |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU以上 |
| メモリ | Kudashai用に1 GBの空き | 2 GB以上。大規模または多数のクラスターではさらに追加 |
| ディスク | バイナリ、ローカルデータベース、kubeconfig用に500 MBの空き | SSDストレージ |
| OS | Linux(amd64、arm64、i386)、macOS(Intel、Apple Silicon)、Windows(amd64、arm64、i386)、FreeBSD | サーバーにはLinux amd64 |
メモリ使用量は、Kudashaiが監視するKubernetesオブジェクトの数に応じて増えます。開いた各クラスターについて、Kudashaiは表示中の各リソース種別(Pod、Deployment、Eventなど)のコピーをメモリ上に保持し、UIをリアルタイムに更新します。数万のPodを持つクラスターだけで数百MBを必要とします。クラスター数ではなく、管理する最大のクラスターに合わせてホストのサイズを決めてください。
Helmチャートのデフォルトは100m CPU、256Miメモリのrequest/limitです。本番規模のクラスターに接続する前に、valuesファイルのresources.limits.memoryを引き上げてください。
Kubernetesクラスター
- Kubernetes 1.23以降。Kudashaiは安定版の
apps/v1、batch/v1、autoscaling/v2、policy/v1、networking.k8s.io/v1、discovery.k8s.io/v1APIを読み取ります。このうち最も新しいautoscaling/v2が1.23で安定版になりました。 - 表示したいリソースに対してlistおよびwatch権限を持つkubeconfig、Bearerトークン、またはクライアント証明書。クラスター全体の読み取り権限があれば最も完全な情報が得られます。Namespaceに限定された認証情報でも動作しますが、Nodeやpersistent volumeなどクラスタースコープのリソースは表示されません。
- 任意: CPU・メモリ使用量の表示には、クラスター内のmetrics-serverが必要です。なくてもKudashaiは動作しますが、リアルタイムの使用量は表示されません。
- 到達性: Kudashaiホストから各クラスターのAPIサーバー(多くのディストリビューションではTCPポート6443)に到達できる必要があります。踏み台サーバーの背後にあるクラスターにはKudashai内蔵のSSHトンネルで接続でき、その場合は踏み台ホストへのSSHアクセス(TCPポート22)が必要です。
データベース(Platformモードのみ)
Standaloneモードでは、すべてのデータを~/.kudashai配下のローカルSQLiteファイルに保存するため、データベースサーバーは不要です。マルチユーザーログインとロールベースアクセス制御を有効にするPlatformモードには、次が必要です。
- PostgreSQL 13以降(スキーマは
gen_random_uuid()とJSONBを使用)。同梱のデプロイマニフェストはPostgreSQL 16を使用します。 - データベースと、その所有者となるロール。テーブルの作成とマイグレーションはKudashai自身が行います。
- KudashaiホストからPostgreSQL(デフォルトはTCPポート5432)へのネットワークアクセス。
ブラウザ
Chrome、Edge、Firefox、Safariの最新版。UIはES2020をターゲットとし、Server-Sent Eventsでライブ更新を配信するため、2020年より前にリリースされたブラウザはサポートされません。
http://localhost以外でアクセスする場合は、KudashaiをHTTPSで提供してください(--certFileと--keyFile、またはTLS終端を行うリバースプロキシ)。通常のHTTP/1.1ではブラウザがホストごとに最大6接続しか開かず、開いている各リソースビューがライブストリームを1つずつ保持するため、この上限に達するとビューの更新が止まります。HTTPSではHTTP/2が有効になり、この上限がなくなります。
ネットワーク
| 方向 | 宛先 | 用途 |
|---|---|---|
| 受信 | TCP 7080(デフォルト。--listenで変更可能) | ユーザーからのUIおよびAPIアクセス |
| 送信 | Kubernetes APIサーバー | クラスター管理 |
| 送信 | PostgreSQL(Platformモード) | 共有データベース |
| 送信 | AIプロバイダーのエンドポイント(任意) | AI機能。プロバイダーを設定した場合のみ。セルフホストのプロバイダーにも対応しているため、インターネット接続は必須ではありません |
| 送信 | SSH踏み台ホスト(任意) | トンネル経由のクラスター |
Kudashai Desktop
Kudashai Desktopは、Kudashai Webと同じエンジンをアプリケーション内で実行し、UIはOS内蔵のWebビュー(macOSはWebKit、WindowsはWebView2、LinuxはWebKitGTK)で描画されます。上記のKubernetesクラスターおよびネットワークの要件は、デスクトップアプリケーションにもそのまま適用されます。
OS
| プラットフォーム | 要件 |
|---|---|
| macOS | macOS 10.13(High Sierra)以降。IntelおよびApple Silicon向けビルドを提供 |
| Windows | Windows 10または11、64ビット(amd64またはarm64)、Microsoft Edge WebView2 Runtimeが必要。Windows 11および最新のWindows 10には同梱されています。ない場合は初回起動時にダウンロードを案内します |
| Linux | GTK 3とlibwebkit2gtk-4.0を備えた64ビット(amd64またはarm64)ディストリビューション。例: Ubuntu 22.04、Debian 12 |
ハードウェア
| 最小 | 推奨 | |
|---|---|---|
| CPU | 64ビット デュアルコア | クアッドコア |
| メモリ | システムメモリ4 GB、うちKudashai用に約1 GBの空き | 大規模クラスターを管理する場合は8 GB以上 |
| ディスク | ローカルデータベース、kubeconfig、ダウンロード済みアップデート用にホームディレクトリに500 MBの空き | SSD |
サーバーと同じサイジングの考え方が当てはまります。メモリ使用量は開いたクラスターの規模で決まり、これにブラウザのタブ1つ分程度のWebビューが加わります。
ライセンスとネットワーク
- AwanIO Enterprise Portalで発行されるKudashai Desktopライセンスキー。キーはアプリケーションのSettings > Licenseで入力します。
- ライセンスの有効化、毎日のライセンスチェック、アプリケーションのアップデートのために、
enterprise-portal.awan.ioへの送信HTTPS(TCP 443)。キャッシュされたライセンスにより、猶予期間内であればオフラインでも動作し続けます。 - ローカルデータはmacOSとLinuxでは
~/.kudashai、Windowsではユーザープロファイルフォルダーに保存されます。 - 任意: Settings > Databaseでデスクトップアプリケーションを共有データベースに切り替える場合はPostgreSQL 13以降が必要です。切り替えるとPlatformモードのクライアントとして動作します。