Civo の Kubernetes を GUI で。Lens、OpenLens、k9s との違い。
クラスタ非依存の 3 つと、Civo 専用の 1 つ。その違いが、開いておきたいツールを決めます。
Lens も OpenLens も k9s も、普通の意味での競合ではありません。どれもクラスタ非依存です。ディスク上の kubeconfig を読み、どのプロバイダのどの Kubernetes クラスタでもワークロードを扱えます。CivoCloudManager はまったく別の形をしています。Civo 専用で、クラスタの認証情報を先に取ってきたファイルからではなく Civo API そのものから受け取り、クラスタの中のワークロードだけでなく、その周りの Civo リソースまで管理します。このページは、いま目の前にある仕事にどちらの形が合うかという話です。相手のツールのほうが良い答えになる場面も、そのまま書きます。
この 4 つが今どうなっているか
k9s はターミナルで動く単一の Go バイナリで、Apache 2.0、開発は活発、v0.51.0 が 2026 年 6 月にリリースされています。Lens Desktop は Mirantis の商用製品です。有効化には Lens ID アカウントが必要で、個人利用は会社の直近 12 か月の売上または調達が 1,000 万 USD 未満なら無料、その線を超えると利用者ごとに有料の Lens Pro シートが要ります。ソースはもう公開されていません。lensapp/lens リポジトリには README が置かれ、最後のリリースは 2024 年 1 月です。そのソースから作られていたコミュニティビルドの OpenLens は、2023 年 6 月の v6.5.2-366 以降リリースがなく、Flathub のパッケージは end of life としてアーカイブされています。メンテナンスが続くオープンソースの後継は FreeLens です。MIT ライセンス、サインイン不要、macOS と Windows と Linux で動きます。OpenLens の置き換えを探してここに来たなら、同等品の答えは FreeLens です。CivoCloudManager は種類の違うツールで、下の表がその違いの正直な形です。
Pod が一つ見えるまでにかかる支度
Civo では手作業の道順が決まっています。Civo のダッシュボードを開くか CLI を叩いてクラスタの kubeconfig をダウンロードし、~/.kube/config にマージし、コンテキストを切り替え、それからクラスタのファイアウォールで現在の IP 向けにポート 6443 を開けます。Civo の Kubernetes API サーバはファイアウォールの後ろにいるからです。Lens も FreeLens も k9s も、ここまで終わって初めて何かを見せてくれます。クラスタが増えれば同じ順番を繰り返し、IP が変わるたびにファイアウォールルールは古くなります。CivoCloudManager は一歩手前、macOS Keychain の中の Civo API キーから始まります。クラスタを選ぶと、アプリが検出した IP 向けに 6443 を開き、Civo API から kubeconfig を取得し、クライアントの識別情報をメモリ上で組み立てて接続します。クラスタから離れれば、開けたルールは閉じられます。自分で求めない限り、kubeconfig がディスクに残ることはありません。
その接続が実際に何であるか
アプリは外部プロセスを呼びません。kubeconfig を Swift で解析し、PEM の証明書と秘密鍵を SecItemImport で読み込み、SecIdentityCreate で一つの識別情報にまとめ、URLSession からそのままクライアント証明書 mTLS を張ります。そのセッションの信頼アンカーは kubeconfig の CA だけです。ホストが違えば、CA が無関係なら、リーフ証明書が切れていれば、弱いほうへ落ちるのではなくハンドシェイクが失敗します。kubectl も openssl も関わらず、認証情報が Mac の外に出ることもありません。依存を一つだけ挙げておきます。CPU とメモリのゲージは metrics.k8s.io API を読むので、クラスタで metrics-server が動いている必要があります。kubectl top や k9s のリソース列とまったく同じ条件です。動いていない場合、アプリは metrics-server が利用できないと表示し、残りの画面はそのまま使えます。
Lens、OpenLens、k9s が勝つところ
Civo だけではない場所です。プロバイダを二つ使っているなら、あるいはマネージドクラスタの隣にローカルの kind クラスタがあるなら、kubeconfig 駆動のツールはキーひとつでコンテキストを切り替えますが、CivoCloudManager はもう一方のクラスタを見ることすらできません。Lens には拡張 API と長い拡張の系譜があり、k9s にはプラグイン、独自ホットキー、エイリアス、スキン、ポートフォワード、Hey を使ったベンチマークがあります。こちらに同等物はありません。k9s はどんな GUI にも触れない場面でも勝ちます。深夜 3 時、踏み台ホストの SSH セッション。デスクトップアプリが存在せず、ターミナルだけがある場所です。そして両方とも、動いているコンテナの中で本物の対話シェルを開けます。CivoCloudManager のコマンド実行は短命な Job を作って出力を返す形で、これはこれで役に立ちますが、動いている Pod にアタッチするのとは別物です。最後に、どちらも Linux と Windows で動きます。CivoCloudManager は macOS 15 (Sequoia) 以降が必要です。
エクスポートは 1 クリックなので、併用でいい
これは二者択一ではありませんし、アプリもそのようには作られていません。クラスタの Save Kubeconfig は選んだ場所に YAML を書き出し、その瞬間から k9s も FreeLens も kubectl も、いつも通りそのクラスタを相手にできます。よくある組み合わせはこうです。Civo 側、つまりクラスタの作成と削除、ファイアウォール、DNS、Object Store、支出の画面、それに手早いログ読みは CivoCloudManager。クラスタの中に入り込む作業は k9s。覚えておくことが一つだけあります。アプリが開けた 6443 のルールはクラスタから離れると閉じられるので、アプリの外で始めたターミナルのセッションには、自前のファイアウォールルールが要るかもしれません。
どれを選ぶか
触るクラスタがすべて Civo にあって、Mac で仕事をしているなら、CivoCloudManager はこの作業でいちばん面倒な部分、つまりクラスタの画面が出るまでの全部を取り除き、Kubernetes ツールからは見えない Civo のリソースまで覆います。複数のプロバイダをまたぐなら、ワークフローをスクリプト化しているなら、ターミナルに住んでいるなら、主役は k9s か FreeLens のままで、このアプリはその隣に置く Civo のコンソールです。まだ OpenLens を使っているなら、Civo についてどう決めるかに関係なく FreeLens へ移ってください。
Civo ユーザが実際に払う支度のコスト
品質ではなく守備範囲の話です。4 つのうち 3 つは Civo に向けているだけのクラスタ非依存ツールで、1 つは Civo しか知りません。下の項目はすべて標準の挙動で、拡張やシェルスクリプトは含みません。
| 作業 | CivoCloudManager | Lens / OpenLens | k9s | kubectl |
|---|---|---|---|---|
| 先にディスク上の kubeconfig が要る | 不要、Civo API から取得 | 必要 | 必要 | 必要 |
| Civo クラスタの作成、リサイズ、削除 | 対応、Civo API v2 経由 | 非対応 | 非対応 | 非対応 |
| 自分の IP 向けのポート 6443 の開放 | クラスタ選択時に自動、離れると閉じる | 手動、Civo ダッシュボードか CLI で | 手動 | 手動 |
| ライブな Pod ログ | 対応、自動スクロールの切り替え付き | 対応 | 対応 | kubectl logs -f |
| 動いているコンテナの対話シェル | 非対応、短命な Job としてコマンドを実行 | 対応 | 対応、s キー | kubectl exec -it |
| デプロイメントのスケール、ロールアウト再起動 | 対応 | 対応 | 対応 | 対応 |
| CPU とメモリのゲージ | 対応、metrics-server が必要 | 対応、metrics-server か Prometheus 経由 | 対応、metrics-server が必要 | kubectl top、metrics-server が必要 |
| Civo のファイアウォール、インスタンス、DNS、Object Store | 対応、すべて一つのウィンドウで | 非対応 | 非対応 | 非対応 |
| Civo Object Storage を S3 で参照 | 対応、Signature V4 の内蔵ブラウザ | 非対応 | 非対応 | 非対応 |
| 月末予測付きの Civo 支出 | 対応、Civo charges API から | 非対応 | 非対応 | 非対応 |
| 実行時のフットプリント | ネイティブ Swift アプリ、同梱ランタイムなし | Electron のデスクトップアプリ | ターミナルで動く Go バイナリ 1 つ | Go バイナリ 1 つ |
| Linux と Windows で動く | 非対応、macOS 15 (Sequoia) 以降 | 対応 | 対応 | 対応 |
| CI/CD でスクリプトから使える | 非対応、対話型のアプリ | 非対応 | 非対応 | 対応、そのための設計 |
| ライセンスとアカウント | Mac App Store の買い切り、アカウント不要 | Lens は Lens ID が必要、OpenLens は end of life | オープンソース、Apache 2.0 | オープンソース、Apache 2.0 |
実際によく聞かれること
- CivoCloudManager は Lens や k9s の代わりになりますか?
- Mac で Civo だけを扱うワークフローならなります。ノード、Pod、デプロイメント、DaemonSet、StatefulSet、CronJob、サービス、Ingress、ボリューム、名前空間、イベントを一覧し、Pod ログを自動スクロールの切り替え付きで流し、デプロイメントのスケールとロールアウト再起動まで、ディスク上の kubeconfig なしで行えます。Civo 以外のクラスタでは代わりになりませんし、動いているコンテナの中の対話シェルも提供しません。多くの人は、その 2 点のために k9s か FreeLens を入れたままにしています。
- Civo で作っていない Kubernetes クラスタでも使えますか?
- 使えません。CivoCloudManager はクラスタの認証情報を、あなたの Civo API キーで Civo API から取得します。見えるのはその Civo アカウントの中のクラスタだけです。ほかのプロバイダのクラスタや、ローカルの kind や k3s のクラスタは設計上の対象外です。そこは Lens、FreeLens、k9s の役目で、これらは
~/.kube/configにあるものを何でも読みます。 - kubectl はまだ必要ですか?
- Civo クラスタの日常的な確認には要りません。ログ、イベント、ワークロードの一覧、スケール、ロールアウト再起動はすべてアプリの中にあり、アプリは mTLS で Kubernetes API と直接話します。マニフェストや CRD の適用、それに CI/CD で走るものには kubectl が必要です。CivoCloudManager は対話型の Mac アプリで、自動化の対象ではないからです。必要になったら Save Kubeconfig が 1 クリックで YAML を書き出します。
- CivoCloudManager は Linux や Windows で動きますか?
- 動きません。Mac App Store だけで配布されるネイティブ macOS アプリで、Apple シリコンでも Intel でも macOS 15 (Sequoia) 以降が必要です。k9s も FreeLens も kubectl も Linux と Windows で動くので、チームが Mac だけでないなら、どれか一つを残しておく理由はそこにあります。
- 2026 年に OpenLens を選ぶ意味はまだありますか?
- OpenLens は 2023 年 6 月の v6.5.2-366 以降リリースがなく、元にしていた Lens のソースも公開されなくなり、Flathub のパッケージは end of life としてアーカイブされています。メンテナンスが続く MIT ライセンスのフォークは FreeLens で、オープンソースの Lens 体験が欲しいならそちらが妥当です。クラスタがすべて Civo にあって Mac を使っているなら、CivoCloudManager が同じ確認作業に加えて、クラスタの周りにある Civo リソースまで覆います。
ガイド
手順を追って、そして率直な比較を。
- 01 Civo API キーをつなぐ Civo ダッシュボードでキーを発行し、一度貼り付ければ、あとは macOS Keychain が持っていてくれます。
- 02 自分の IP にファイアウォールを開く 手作業の手順、そのあとに残る動的 IP の罠、そして期限でルールを閉じる無料のメニューバー経路。
- 03 Civo Object Storage を S3 で リージョンごとのエンドポイント、s3cmd と rclone と AWS CLI の動く設定、そしてネイティブクライアントが違うことをする部分。
- 04 Mac で Civo DNS ドメインを Civo のネームサーバーに向けたあと、ゾーンはブラウザのタブではなくネイティブアプリで持つ。
- 05 変更履歴 出荷したリリースを新しい順に。ストアのリリースノートには収まらない分量で。
詳細解説
Civo のプロダクトごとに、掘り下げた解説を。
CivoCloudManager が触れる Civo の各領域には、仕様、トレードオフ、アーキテクチャの詳細をまとめた専用ページがあります。いまの仕事に一番近いものから読んでください。
- 01 Mac で使う Civo CLI の代替 GUI が CLI に勝つ場面、勝たない場面、そして両者の併用。
- 02 Mac 用の Civo Kubernetes GUI ライブのクラスタダッシュボード、リアルタイム Pod ログ、kubectl 不要。
- 03 Mac 用の Civo Object Storage ブラウザ ネイティブな S3 互換ブラウザ。使っていないバケットは中央 vault に退避。
- 04 Mac のメニューバーから Civo ファイアウォール ファイアウォールごとにワンクリックで開閉、IP 自動検出、自動クローズタイマー。
- 05 Mac 用の Civo コストダッシュボード Civo charges API からの実課金。期間ピッカーと月末予測。
道具が違えば、仕事も違う。
メニューバーのファイアウォール操作はずっと無料、フルアクセスは初回起動から 7 日間、そのあとダッシュボードは Mac App Store での買い切りです。