Play Store のベータテスターを募集中:Discord に参加するか、メールで登録してください。

Ichor Talos Linux と Kubernetes のために
1.41 あらゆる CRD に対応するプラグイン、スマートフォンからのプルリクエスト、キャパシティ、ランブック →

運用するすべてのクラスターを、スマートフォンから。

Ichor は Talos Linux のために作られ、今も talosctl と同じクライアントで Talos と通信します。現在はあらゆる kubeconfig(EKS、GKE、AKS、DigitalOcean、Rancher、Sidero Omni、OIDC サインイン)も開けます。クラスターへのインストールも、間に入る仲介サーバーも不要です。オペレーターが未対応なら、YAML ファイル 1 つのプラグインで画面を追加できます。

手元にクラスターがない場合は、最初の画面でデモを試すをタップしてください。5個のサンプルノード、ライブグラフとログを完全オフラインで体験できます。無料のオープンソース(Apache-2.0)で、デフォルトは読み取り専用です。

Talos 生まれ · どこでも動く

Talos のアプリとして始まり、今ではあらゆる kubeconfig を開けます。

kubeconfig をファイル、貼り付け、QR、共有シートで追加します。プレビューにはすべてのコンテキストとそのサインイン方法が表示され、選んだものが追加されます。各クラスターには Kubernetes ホーム、すべての Kubernetes 画面、バックグラウンドアラート、そして固有の色が割り当てられるため、再起動を間違ったクラスターに向けることはありません。

  • Talos Linux

    証明書にロールが組み込まれた talosconfig:ノードのヘルス、ログ、etcd、KubeSpan、アップグレードなど、Talos API をエンドツーエンドで。

  • Sidero Omni

    omnictl と同じ方法でインスタンスにサインインし、一覧からクラスターを選びます。アプリでできる操作は、自分の ID に対する Omni のロールで決まります。

  • マネージド Kubernetes

    EKS、GKE、AKS、DigitalOcean、Rancher:アカウントのクラスターを一覧表示して追加するか、CLI が書き出した kubeconfig をインポートします。exec プラグインはスマートフォン上のサインインに置き換わります:開始 URL からの IAM Identity Center、Google アカウントまたは組織の OAuth クライアント、Entra ID。

  • その他すべて

    クライアント証明書、ServiceAccount トークン、またはブラウザやデバイスコードによる kubelogin の OIDC。k3s、RKE2、kubeadm、OpenShift:kubectl で届くなら、Ichor でも届きます。

ノート PC のようにサインイン、鍵のように保護

スマートフォン上で aws、gcloud、az のバイナリは動きません。Ichor が exec プラグインの役割を担い、サインインはデバイス上に留まって自動で更新されます。トークンと鍵は StrongBox または Secure Enclave に保護され、アプリロックで守られます。

「このクラスターはどのアカウントを使っている?」→ ホームに表示されます。

  • Talos Linux
  • Sidero Omni
  • Amazon EKS
  • Google GKE
  • Azure AKS
  • DigitalOcean
  • Rancher
  • OIDC · kubelogin
  • Client certificate
  • ServiceAccount token
  • Argo CD
  • Flux
  • Argo Rollouts
  • Cilium · Calico
  • CAST AI
  • Cluster API
  • Crossplane
  • Tailscale
  • KubeVirt
  • Longhorn · Rook Ceph
  • CloudNativePG
  • Velero
  • Kyverno · Gatekeeper
  • Alertmanager
  • Any CRD, as a plugin

クラウドのクラスターでは、Kubernetes ホームに各ノードの配置先も表示されます:Karpenter プール、マネージドノードグループ、コンピュートクラスまたはエージェントプール、マシンタイプ、スポットかオンデマンドか。Talos クラスターでも、管理者 kubeconfig の代わりにこれらの ID を Kubernetes 画面に使えます。

1.22〜1.41 の新機能

オペレーターも、Git も、Day 2 運用も。すべてスマートフォンで。

2週間で20リリース:あらゆる CRD に画面を与えるプラグイン、スマートフォン上の差分から作成するプルリクエスト、ノードの喪失をシミュレートするキャパシティ画面、Alertmanager をはじめとする Kubernetes ホームの残り、クラスター全体の Talos アップグレード、画面が消えても動き続けるランブック。

あらゆるオペレーターをプラグインに

プラグインは YAML ファイル 1 つ:読み取るリソース、正常とみなす条件、カード、アクション、検出結果を定義します。kube-green、External Secrets、ExternalDNS、Sealed Secrets、Rook Ceph、MariaDB、Percona、Dragonfly、Temporal、Numaflow、Dataflow など12個を内蔵。自作のプラグインは貼り付け、ファイル、URL、QR コードからインポートでき、有効にする前に何を読み取り何を変更できるかを確認できます。検出結果はクラスターチェックとバックグラウンドアラートに反映されます。

「アプリは自分のオペレーターに対応している?」→ アプリのリリースなしで、今すぐ対応できます。

スマートフォンから Git を編集

Argo CD または Flux のアプリがデプロイするファイルを、クラスターが実行中のリビジョンで閲覧できます。ファイルを編集するか、イメージタグやレプリカ数をクイック編集し、kustomize ビルドを検証した差分を確認して、GitHub、GitLab、Gitea、Forgejo でプルリクエストを作成します。クラスターで手動変更された値や、保持した Talos のマシン構成の変更は、元のファイルへの変更として提案されます。プルリクエストがマージされたとき、そしてクラスターがそれを実行したときにアプリが通知します。

「あのタグ、上げてくれる?」→ 電車の中からプルリクエスト。

キャパシティと、ノードを失ったときの影響

クラスターごとの CPU、メモリ、ディスクの空き、QoS クラスと優先度に基づく各ワークロードの OOM と退避のリスク、そしてシミュレーション:1個または複数のノードを取り除き、Pod の移動先、プリエンプトされるもの、Pending のまま残るもの、スケールダウンすべきものを確認できます。使用中の CPU とメモリは kubectl top と同様に metrics-server から取得します。

「今夜 w-3 をドレインできる?」→ 4個の Pod がノーと言っています。

Kubernetes ホームのすべて

ワークロード、ネットワーク、ストレージ、監視、閲覧:Service とロードバランシング、Job、ストレージクレームとその使用率、HPA・KEDA・VPA・Karpenter によるオートスケーリング、Kyverno と Gatekeeper のポリシー、KubeVirt の仮想マシン、Velero のバックアップ、Helm リリース、ライブイベント、そしてスマートフォンからサイレンスを設定できる Alertmanager。すべてのオブジェクトに概要、スキーマ補助付きの YAML、スケール、削除、RBAC で許可されたアクションがあり、一覧はライブで更新されます。

「午前3時に鳴ったのは?」→ そのアラートを、ワンタップでサイレンス。

Talos の Day 2 運用を、スマートフォンから

すべてのノードを1台ずつ順番にアップグレードし、アップグレード自体がドレインしない場合は先にドレインします。Kubernetes は dry run の後にアップグレード。ノードの追加:メンテナンスモードで調べ、既存メンバーから構成を作成して送信し、参加するまで追跡します。ガイド付きプランでコントロールプレーンノードを置き換え、スナップショットから etcd を復元し、NOSPACE アラームをワンタップで解消し、ノードをリセットまたはワイプできます。etcd を壊す操作は拒否されます。

「1.13 へのアップグレードは?」→ ソファから8個のノードすべてを。

ランブックと、画面が消えても続く長時間の実行

ランブックはアプリ自身のアクションを順に並べたリストです。インポート時にまず計画が表示され、破壊的なステップごとに確認しながら実行されます。同期、調整、再起動、複数ノードへの構成適用、ネットワークテストは、進行状況と停止ボタン付きでバックグラウンド実行されます。Android では「操作」通知チャンネルに、iOS ではロック画面と Dynamic Island に表示されます。

「金曜のランブックは終わった?」→ ステップ3が確認を待っています。

  • CLI なしでクラウドにサインイン

    GKE は Google アカウントまたは組織の OAuth クライアントで、EKS は開始 URL だけで IAM Identity Center にサインイン。aws config、gcloud の認証情報、omniconfig を貼り付けるかスキャンすると、サインイン情報が自動入力されます。

  • イメージの脆弱性スキャン

    Grype または Trivy で、Pod やワークロードのイメージ、ノードの Talos システムイメージをスキャンします。レポートはスマートフォン上に保存され、前回のスキャン以降に新たに見つかったものにはマークが付きます。

  • 30日間の履歴

    ノードごとの稼働時間、前回確認時からの変化、使用率とメモリのスパークライン、「約9日で満杯」と知らせるストレージ予測、そして Markdown で共有できる匿名化されたインシデントの概要。

  • 検索、Siri、そして手首に

    すべてのクラスターのノード、Pod、ワークロード、アプリを、ホームから、または iOS の Spotlight、Siri、ショートカットから検索できます。Apple Watch アプリと Wear OS タイルで各クラスターのヘルスを確認できます。

  • タブレットと iPad

    ノードと GitOps アプリは一覧の横に開き、概要は2カラムで表示されます。iPad のサイドバーには、現在の画面の横にクラスターとそのセクションが一覧表示されます。

  • 設定、バックアップ、鍵

    設定はページごとに整理されました。パスフレーズまたは age 公開鍵で保護された age ファイルのバックアップは、ピン留め、Git ホスト、AI 設定も保持し、Android と iPhone の間で移行できます。

  • さらに多くの操作を手元で

    フックと待機付きの Helm ロールバック、/scale を提供するあらゆるもののスケール、dry run の計画付きのテイントとラベル、dry run の差分付きで貼り付けた YAML の適用、シェルのないイメージ向けのデバッグコンテナ、全ノードへのイメージの事前プル、終了した Pod のクリーンアップ。

  • ノードツールとハードウェア

    ノードからの DNS、ping、ポート、traceroute、HTTP/TLS チェック、センサー、CPU 周波数とスロットリング、各ディスクのパーティションと暗号化、そしてハードウェア画面からサーバーの交換部品まで。

見るだけでなく、運用する

すべての変更を記録し、すべてのアクションを事前に確認。

アプリのロック解除にセキュリティキー、アプリによる変更と操作者を記録する暗号化ログ、Argo CD が適用する差分、メトリクス画面の PromQL アシスタント、両プラットフォームでの CAST AI の節約額、そしてアカウントに実行権限があるかを事前に把握する Kubernetes アクション。

スマートフォンが行った操作の監査ログ

アプリから行ったクラスターへの変更(再起動、リスタート、同期、ロールバック、削除)はすべて、バックグラウンド実行がクラッシュした場合でも、結果とともにデバイス上の暗号化ログに記録されます。Android と iOS のアクティビティ画面で確認できます。

「午後2時に grafana を再起動したのは?」→ このスマートフォンの、この画面から。

Argo CD:差分を確認してから同期

「差分を表示」は、コントローラーが実行済みの比較をもとに、同期による変更をオブジェクトごとに表示します(Secret の値は非表示)。リビジョン、各履歴エントリ、実行中の同期は、GitHub、GitLab、Gitea、Forgejo、Codeberg、Bitbucket 上のコミットにリンクします。ロールバック時にはアプリ名の入力が必要になりました。

「この同期は何に影響する?」→ タップする前に、3個のオブジェクトを確認。

セキュリティキーでロック解除

NFC または USB 接続の YubiKey や任意の FIDO2 キーで、アプリロックの PIN と生体認証を置き換えられます。保存された構成も保護され、キーがなければスマートフォンのストレージのコピーからでも読み取れません。

「スマートフォンを紛失した?」→ 構成は、端末内にないキーで保護されています。

メトリクス画面の PromQL アシスタント

見たい内容を伝えると、アシスタントがクエリを作成し、Prometheus で実行して結果が返ることを確認してからパネルを追加します。オプション機能でデフォルトはオフ。自分の Claude または OpenAI のキーを使い、Android と iOS で利用できます。

「w-2 の全 Pod のメモリを積み上げで」→ 検証済みのパネル。

両プラットフォームで CAST AI

節約額付きのワークロード推奨、ノード統合プラン、失敗したプランによって逃した節約額を、刷新されたワークロード表示で確認できます。Android に加えて iOS にも対応しました。

「過剰にプロビジョニングされているのは?」→ 節約額付きのランキングで。

あらゆるオブジェクトの概要と、実行できる操作

すべてのオブジェクトに、kubectl describe の冒頭のような概要タブが追加されました:条件、所有者、過去1時間のイベント。アクションはワンタップで実行でき、アカウントで実行できないものは、試す前に API サーバーに問い合わせた理由とともに無効化されます。

「ここから再起動できる?」→ できるか、できない理由を表示。

  • すべてのクラスターでアラート

    バックグラウンドアラート、データサービス、並べ替え可能なホームが、Talos だけでなく kubeconfig から追加したクラスターでも使えるようになりました。

  • 適切な画面を開くアラート

    通知をタップすると、対象のノード、Pod、バックアップに直接移動します。Android では種類ごとに通知チャンネルが分かれ、必要なものだけミュートできます。

  • 入力による確認

    すべてのクラスターの削除や Argo CD アプリのロールバックには、名前の入力が必要です。ワンタップのアクションは対象オブジェクトのある場所に配置されています。

  • 両プラットフォームで同じ設定

    Android と iOS は同じ設定レイアウトを共有し、アップデートの提供元を表示し、高密度でも読みやすいテキストでアクセシビリティチェックに合格しています。

ネットワーク、ストレージ、プレッシャー

ネットワークか、ストレージか、ノードか?測定しましょう。

何かが遅いのに、すべてのノードは Ready。Ichor はスマートフォンから直接、2個のノード間のリンクを測定し、アプリが依存するストレージとデータベースをチェックし、ノード上でリソース不足に陥っているワークロードを特定します。

ネットワークテスト

一覧から、または Android ではクラスターマップ上で直接2個のノードを選ぶと、Ichor が cilium connectivity perf と同じように netperf で測定します。CNI は問いません:TCP スループット、続いて p50、p90、p99 のレイテンシを Pod 間で、必要ならホスト間でも測定します。結果は保存され、時系列でグラフ化されます。

「新しいスイッチは速くなった?」→ 測定済み。

データサービス

Ichor はクラスター内の Longhorn、CloudNativePG、Garage、Rook Ceph、MariaDB、Percona、Dragonfly を認識してチェックします:低下したボリュームとそのレプリカ、Postgres インスタンスと古いまたは失敗したバックアップ、CSI スナップショットとバックアップ用 CronJob、Garage のノード、Dragonfly のマスターとレプリカ。各問題には原因となるノードが表示されます。行からレプリカのプロモート、フェイルオーバー、ボリュームの救出やスナップショットの作成ができ、オプトインのアラートでボリュームの障害、ディスクの逼迫、バックアップの停止を通知します。

「昨夜のバックアップは実行された?」→ 実行されたか、されなかった理由を表示。

Argo CD

クラスターで Argo CD が動いていれば、Ichor はアプリケーションをヘルスと同期状態とともに一覧表示し、同期をウェーブごとに追跡します。同期、更新、同期の中止、自動同期の一時停止、ロールバックが可能です。Talos が発行する管理者 kubeconfig で Application リソースと直接通信するため Argo CD トークンは不要で、ApplicationSet が管理するアプリが知らないうちに変更されることはありません。

個人プロジェクトなど Ichor が認識しないアプリは、ichor.levis.name/icon アノテーションで独自のロゴを指定できます:Dashboard Icons の名前、PNG または WebP への https リンク(アイコンのダウンロードを許可した場合のみ取得)、または base64 でインライン化した画像そのもの。

kubectl -n argocd annotate application my-site \
  ichor.levis.name/icon=https://example.org/logo.png

「このアプリはなぜ低下している?」→ 原因の Pod とノードを表示。

ノードプレッシャーと cgroups

ノード上の処理が CPU、メモリ、ディスクをどれだけ待っているかを直近5分間のグラフで表示し、最も待っているワークロード、OOM kill、メモリ上限に近いコンテナも示します。Cgroups タブでは、talosctl cgroups と同様に、サービス、Pod、コンテナごとに内訳を表示します。

「w-2 を食いつぶしているのは?」→ 特定済み。

これらには os:admin 証明書が必要です。ネットワークテストは専用の名前空間で restricted の Pod セキュリティプロファイルを適用して Pod を実行し、終了後に削除します。各測定はリンクを5〜20秒間占有します。保存された結果はスマートフォン上で暗号化され、バックアップには含まれません。データサービスのアラートは、オンにするまで無効です。

  • クラスターマップ

    Android では、KubeSpan 画面にサイト、ノード、トンネルの状態(稼働、低下、ダウン)がゾーンごとの旗とともに描かれます。2個のノードをタップすると、その間のリンクをテストできます。

  • アプリをブラウザで開く

    アプリのシートには、そのアプリを指す Ingress と Gateway API の HTTPRoute から見つけた Web アドレスが一覧表示され、ワンタップで開けます。

  • LAN 上のクラスターを検出

    ここからエンドポイントが応答しない場合、Android では Ichor がローカルネットワーク上で認証情報を受け付けるノードを検索し、エンドポイントを手動で編集することもできます。

  • すぐに使えるデバッグコマンド

    DNS、MTU、TLS、KubeSpan などに使える約40個の netshoot コマンドをデバッグシェルからワンタップで実行でき、スマートフォンのキーボードはほとんど不要です。

アプリと Kubernetes

クラスターで何が動いているかを把握し、詰まったら後押しを。

Talos はノードが正常だと教えてくれます。でも Grafana は最新か、なぜ Cilium エージェントが1つだけ古いバージョンのままなのか、どの Pod がクラッシュループしているのか?Ichor はクラスターで動いているソフトウェアを表示し、管理者証明書があれば、ノート PC なしでワークロードを再起動したり、詰まった Pod を削除したりできます。

アプリインベントリ

すべてのノードのすべてのコンテナを、見慣れたアプリごとにロゴ付きでグループ化:Home Assistant、Immich、*arr スタック、Longhorn、Cilium など約400種類。サイドカーと init コンテナは所属するアプリにまとめられ、2つのバージョンが同時に動いているアプリや、固定されていない :latest イメージにはマークが付きます。

「すべて新しいバージョンになった?」→ ひと目で確認。

ワークロードと rollout restart

Deployment、StatefulSet、DaemonSet を準備状態とロールアウト状態とともに、注意が必要なものから順に表示します。kubectl rollout restart と同様にローリングアップデートで再起動でき、Pod が1個だけの場合は確認時に警告します。その後、新旧の Pod の状況がすべての新しい Pod の準備が整うまでライブで表示されます。いつ閉じてもロールアウトは続行されます。

「ちょっと蹴飛ばせば直る」→ ベッドの中から完了。

Pod(異常なものから表示)

すべての Pod を、kubectl get pods と同じステータス(CrashLoopBackOff、Init:Error、Terminating)、再起動回数、ノードとともに表示します。詰まった Pod を削除すると、コントローラーが新しいコピーを起動します。確認画面で、再作成されるかどうかがわかります。

「なぜまだ再起動している?」→ 削除して、再作成。

CronJob をオンデマンドで実行

すべての CronJob を、スケジュール、次回の実行、直近の実行結果とともに、失敗中と実行中のものから順に表示します。確認後、kubectl create job --from と同様に今すぐ実行できます。Job は CronJob の所有のままなので、履歴とクリーンアップも引き続き適用されます。

ラベルまたはアノテーションで、それぞれにロゴ、名前、1行の説明を付けられます。アイコンがない場合、Ichor はイメージが属するアプリのアイコンを使い、それもなければ時計を表示します。ichor.levis.name/trigger=false を設定すると、ジョブはスケジュールでのみ実行されます。

kubectl label cronjob db-backup ichor.levis.name/icon=postgresql
kubectl annotate cronjob db-backup ichor.levis.name/title="Database backup"
kubectl annotate cronjob db-backup ichor.levis.name/description="Nightly dump to S3"
kubectl label cronjob wipe-staging ichor.levis.name/trigger=false

「昨夜のバックアップが失敗した」→ ソファから再実行。

アプリインベントリは読み取り専用の os:reader 証明書で動作し、ロゴはアプリに内蔵されているため、オンラインでの検索は行いません。ワークロードと Pod には Talos が発行する管理者 kubeconfig を使い、メモリ上にのみ保持します。スクリーンショットモードでは、アドレスやノード名に加えてすべてのロゴも非表示になります。

  • 「クラスターに到達できません」の理由を表示

    VPN がオフ、または別のネットワークにいる?赤いノードが並ぶ代わりに、1つの通知が理由を説明し、自動で再試行して、接続が戻った瞬間に復旧します。

  • すべてのインシデントに証拠を

    記録されたインシデントに、その時点で取得したサービスの状態とネットワークリンクの変化が保存されるようになりました。技術的な詳細はワンタップで確認できます。

  • その他のアプリのロゴも、必要なら

    内蔵の400種類以外のアプリについては、オープンな Dashboard Icons セットからロゴをダウンロードできます。デフォルトはオフで、送信されるのはアイコンの公開名だけです。

  • バージョンのずれを検出

    古い Cilium のままのノード、忘れられた :latest タグ:要確認のアプリ数が概要に直接表示されます。

クラスターインサイト

何が変わったか推測するのはやめましょう。スマートフォンが見ていました。

午前3時、ノードが不安定で、ノート PC は別の部屋。クラスターインサイトは Ichor をステータスページからトラブルシューティングキットに変えます:ずれたノードを見つけ、進行中のインシデントを記録し、実際にボトルネックになっているリソースを特定します。すべて読み取り専用の os:reader 証明書で行えます。

構成ドリフト

1台だけ MTU が違うワーカー、忘れられた NTP サーバー、アップグレードで取り残された拡張機能。Ichor は DNS、NTP、MTU、拡張機能のバージョン、Secure Boot、UKI、Talos のバージョンをロールごとに、または保存したベースラインと比較し、異なるものを指摘します。

「なぜ w-3 だけ遅い?」→ 見つかりました。

インシデントレコーダー

発生中に記録を開始すると、Ichor が最大10分間のタイムラインを作成します:Talos のライブイベントに加え、5秒ごとに取得したノードの準備状態、サービス、リンク、ネットワークカウンター。タイムラインは保存され、ポストモーテムにすぐ使えます。

「最初に壊れたのは?」→ タイムラインに記録されています。

ボトルネックメトリクス

負荷が高い、でも原因は CPU、ディスク、ネットワーク、それともハイパーバイザー上のうるさい隣人?ライブタブに I/O 待ちと VM の steal 時間、ディスクごとのスループットと I/O 時間、インターフェースごとのスループット、エラー、ドロップが表示されるようになりました。再起動後の偽のスパイクもありません。

「ディスクのせい?」→ これでわかります。

ベースラインと記録はスマートフォン上で暗号化され、クラスターごとに分けて保存され、バックアップされることはありません。マシン構成、kubeconfig、生のログは収集されず、インサイト画面からすべて削除できます。

  • 忘れていたノードを検出

    talosconfig にエンドポイントが1つしかない?Ichor がクラスターにメンバーを問い合わせ、足りないノードをワンタップで追加できるよう提案します。

  • Wake-on-LAN

    電源オフのノードをアクションシートから起動できます。Ichor は稼働中に各ノードのネットワークカードを記憶するため、設定したことがなくても起動できます。

  • クラスターなしで試す

    内蔵デモは、5個のサンプルノード、ライブメトリクス、ログ、etcd などでオフライン動作します。構成を1つもインポートする前に、すべてを確認できます。

  • より安全なインポート、より速い切り替え

    同じ名前のコンテキストをインポートしても、既存のクラスターが上書きされることはありません。アプリアイコンを長押しすると、任意のクラスターに直接移動できます。

実際の画面

稼働中のクラスターの実際の画面を、スクリーンショットモードで撮影したものです。アドレスとノード名は代替の値に置き換えられています。

Talos Linux のための Ichor のクラスター概要画面
クラスター概要すべてのノードをひと目で確認。新しい Talos が出るとバナーで通知。
Talos Linux のための Ichor のサービス画面
サービス各 Talos サービスのヘルス。オペレーター権限で再起動も可能。
Talos Linux のための Ichor のカーネルとサービスのログ画面
カーネルとサービスのログレベル別に色分け、繰り返しは折りたたみ、警告やエラーで絞り込み。
Talos Linux のための Ichor のイベント画面
イベントサービスの変化とノードの状態をリアルタイムで。
Talos Linux のための Ichor のライブグラフ画面
ライブグラフCPU、メモリ、ネットワーク、ディスク、負荷を2秒ごとに。
Talos Linux のための Ichor のパケットキャプチャ画面
パケットキャプチャライブのパケット一覧を、Wireshark 用の .pcap として保存。
Talos Linux のための Ichor の Talos アップグレード画面
Talos のアップグレード事前チェックの後、新しいバージョンのインストーラーイメージで。

よく使う talosctl コマンドを画面で

すべて公式の Talos Go クライアントを通じて動作するため、talosconfig のコンテキスト、mTLS、エンドポイントからノードへのプロキシは talosctl とまったく同じように動作します。

従来のコマンド 開く画面 ロール
talosctl get machinestatus クラスター概要すべてのノードの状態(準備完了、未準備、到達不能)と、満たされていない条件、時刻のずれ、利用可能な Talos のアップグレード。 reader
talosctl services, talosctl logs -f サービスとログサービスのヘルスと、レベル別に色分けしたサービスまたはカーネルのログ。繰り返しの折りたたみとライブ追従モード付き。 reader
talosctl events イベントのタイムラインクラスター全体のサービスの変化、ブートフェーズ、アドレスの変化をリアルタイムで。 reader
talosctl dashboard, talosctl processes ライブグラフとプロセスCPU、メモリ、ネットワーク、ディスク、負荷を2秒ごとに表示し、プロセス一覧を CPU またはメモリ順に並べ替え。 reader
talosctl get members ノードの検出talosconfig がまだ対象にしていないクラスターメンバーをワンタップでコンテキストに追加。Android では、エンドポイントが応答しないときにローカルネットワークを検索。 reader
diff of talosctl get … on every node 構成ドリフトDNS、NTP、MTU、拡張機能、Secure Boot、UKI、Talos のバージョンを、ロール内で、または保存したベースラインと比較。 reader
talosctl events + watch, in a terminal インシデントレコーダーイベントと、定期取得したノード、サービス、ネットワークの状態を、1つの保存済みタイムラインに統合。 reader
talosctl read /proc/stat, /proc/diskstats ボトルネックメトリクスI/O 待ち、steal 時間、ディスクごとの I/O、インターフェースごとのエラーとドロップをライブで。 reader
talosctl containers -k PodPod ごとにまとめたコンテナと、その CPU とメモリ。 reader
talosctl containers -k on every node アプリインベントリクラスターで動いているソフトウェアを、ロゴ、バージョン、バージョンのずれ、固定されていないイメージとともにアプリごとに表示。 reader
talosctl get links, talosctl netstat ネットワークインターフェース、アドレス、ルート、DNS サーバーとタイムサーバー、開いている接続。 reader
talosctl apply-config --mode try マシン構成ノードの構成をフィールドごとに、または YAML で表示。シークレットは明示的に表示しない限り非表示。編集して変更を試すことができ、保持しなければノードは自動で元に戻ります。 admin
talosctl etcd status, etcd snapshot etcdメンバー、リーダー、サイズ、アラーム、デフラグ、そしてスマートフォンに保存するスナップショット。 reader / backup
talosctl get kubespanpeerstatuses KubeSpan各ノードのピア:状態、エンドポイント、最終ハンドシェイク、トラフィック。Android では、サイト、ノード、トンネルのマップも。 reader
talosctl service restart サービス制御サービスの開始、停止、再起動。重要なサービスには警告を表示。 operator
talosctl reboot -m powercycle 再起動、シャットダウン、起動ホスト名を入力して確認した後、グレースフル、電源の入れ直し、または強制で実行。電源オフのノードは Wake-on-LAN で起動。 operator
talosctl pcap パケットキャプチャデコードした詳細付きのライブのパケット一覧を、Wireshark で開ける .pcap として保存。 operator
talosctl upgrade Talos のアップグレード1台ずつ実行し、etcd がクォーラムを失う場合は拒否。ノードが復帰するまで進行状況を表示。 admin
kubectl get deploy,sts,ds, kubectl rollout restart Kubernetes ワークロードすべての Deployment、StatefulSet、DaemonSet の準備状態とロールアウト状態、そして確認後のローリング再起動。 admin
kubectl get cronjobs, kubectl create job --from Kubernetes の CronJobすべての CronJob のスケジュール、次回の実行、最近の実行を、設定したアイコンと名前で表示。確認後に手動実行も可能。 admin
kubectl get pods, kubectl delete pod Kubernetes の PodPod のステータス、準備状態、再起動回数、ノードを異常なものから表示。詰まった Pod を削除すると、コントローラーが再作成します。 admin
cilium connectivity perf, netperf ネットワークテスト2個のノード間の TCP スループットと p50〜p99 のレイテンシを Pod 間またはホスト間で測定し、保存して時系列でグラフ化。 admin
kubectl get volumes.longhorn.io, clusters.postgresql.cnpg.io データサービスLonghorn のボリューム、CloudNativePG のクラスターとそのバックアップ、Garage、Rook Ceph、MariaDB、Percona、Dragonfly。各問題の原因となるノードと、行からの修正操作付き。 admin
talosctl cgroups ノードプレッシャーと cgroupsCPU、メモリ、ディスクのプレッシャー、最も待っているワークロード、OOM kill、サービス、Pod、コンテナごとの使用量。 admin
talosctl config new talosconfig の発行このスマートフォンの証明書を更新するか、別のデバイス用の読み取り専用の証明書を QR コードで作成。 admin
talosctl rotate-ca Talos CA のローテーション古い CA を外す前にすべてのノードが新しい CA を信頼し、このスマートフォンの talosconfig も途中で更新されます。 admin
talosctl health クラスターのヘルスチェックサーバー側のチェックを、実行に合わせてストリーミング表示。 admin
talosctl debug デバッグシェルnicolaka/netshoot などのイメージをノード上で実行してターミナルを開き、約40個のすぐに使えるコマンドを利用。 admin
dig, ping, nc -z, traceroute, curl -v ノードのネットワークツールノードから実行する DNS、ping、ポート、traceroute、HTTP/TLS チェックの結果をフィールドに分けて表示。 admin
talosctl upgrade on every node, talosctl upgrade-k8s クラスターのアップグレードすべてのノードを1台ずつ順番に、必要なら先にドレインしてアップグレード。Kubernetes は dry run の後に。対象バージョン向けのビルドがない拡張機能には警告を表示。 admin
talosctl apply-config --insecure, talosctl reset ノードの追加、置き換え、リセットメンテナンスモードのノードを調べ、既存メンバーから作成した構成を送信して参加するまで追跡。ガイド付きプランでコントロールプレーンノードを置き換え。ノードのリセットやワイプも可能で、etcd が壊れる場合は拒否。 admin
talosctl etcd defrag, alarm disarm, bootstrap --recover-from etcd の修復NOSPACE アラームをワンタップで解消(スナップショット、デフラグ、解除、確認)し、スナップショットから etcd を復元。 admin
talosctl get disks, volumestatus ストレージとハードウェア各ディスクのパーティション、空き容量、暗号化、センサー、CPU 周波数とスロットリング、サーバーの交換部品。 reader
kubectl get all -A, kubectl describe, kubectl scale あらゆる Kubernetes オブジェクトすべての種類を閲覧でき、各オブジェクトには条件、所有者、イベントの概要、スキーマ補助付きの YAML、スケール、削除、RBAC で許可されたアクションがあります。 RBAC
kubectl get svc,jobs,pvc,hpa, kubectl top Service、Job、ストレージ、オートスケーリング、キャパシティアドレスとルート、ロードバランサープール、Job の状態とオーナー、クレームとその使用率、HPA、KEDA、VPA、Karpenter、クラスターごとの空き容量、そしてノードを1つ失った場合の影響。 RBAC
kubectl get events -w, amtool alert, amtool silence ライブイベントと Alertmanagerクラスター全体のイベントをリアルタイムで表示。発生中のアラートとサイレンス、スマートフォンからのサイレンス設定、そしてアラート発生時のスマートフォンへの通知。 RBAC
kubectl get cpol,policyreports, constraints ポリシーKyverno と Gatekeeper のポリシー、その検出結果とエンジンのヘルス。ポリシーを Audit と Enforce の間で切り替えられます。 RBAC
virtctl, kubectl get vm,vmi 仮想マシンKubeVirt の VM の起動、停止、再起動、マイグレーション、一時停止、そしてアプリのターミナルでのシリアルコンソール。 RBAC
helm rollback, velero restore, kubectl apply --dry-run Helm、Velero、YAMLHelm リリースをフック込みでロールバック、プレビューと名前空間マッピング付きで Velero バックアップを復元、スケジュールを今すぐ実行、貼り付けた YAML を dry run の差分を確認してから適用。 RBAC
kubectl argo rollouts, kubectl get managed, tailscale Argo Rollouts、Crossplane、Tailscale、Cluster APIロールアウトのプロモート、中止、再試行。Crossplane リソースの一時停止、再開、調整。コネクターとプロキシグループ。クラスター、マシン、Sidero Metal サーバー。 RBAC
grype, trivy image イメージスキャンPod、ワークロード、ノードの Talos システムイメージの脆弱性。レポートは保存され、前回のスキャン以降の新しい項目がわかります。 reader
git checkout -b, git commit, gh pr create Git とプルリクエストアプリがデプロイするファイルを閲覧・検索し、1つまたは複数を編集、差分と kustomize のビルド結果を確認して、GitHub、GitLab、Gitea、Forgejo でプルリクエストを作成。 Git token
a shell script of kubectl and talosctl calls ランブックアプリのアクションを順番に並べたリスト。インポート時に実行計画を先に表示し、破壊的なステップごとに確認しながら実行します。 per step
kubectl get <your CRD> プラグイン12種類の組み込みオペレーターに加え、独自の CRD を1つの YAML ファイルで記述。カード、アクション、検出結果はクラスターチェックとアラートにも反映されます。 RBAC

スマートフォンには与えた権限だけ

スマートフォン専用の talosconfig を生成します。アプリはそのロールを読み取り、その証明書で許可された操作だけを表示します。スマートフォンを紛失しても、証明書にそれ以上の権限はなく、期限が来れば自動的に失効します。

オペレーター

os:operator

読み取り専用のすべてに加え、再起動、シャットダウン、サービスの再起動、パケットキャプチャ。

管理者

os:admin

ヘルスチェック、マシン構成、Talos と Kubernetes のアップグレード、ノードの追加・置き換え・リセット、etcd の修復、talosconfig の発行、kubeconfig のエクスポート、デバッグシェル、ネットワークテスト、ノードの負荷テスト、そして Talos が発行する管理者 kubeconfig によるすべての Kubernetes 画面が加わります。kubeconfig クラスターでは、できる操作は RBAC 次第で、タップする前に確認されます。

talosconfig は、スマートフォンのセキュリティチップ(Android では StrongBox または TEE、iPhone では Secure Enclave)に保持された鍵で暗号化されます。オプションの指紋認証、Face ID、PIN ロックでアプリとすべての再起動を保護できます。

Play ストアのベータテスターになる

Ichor は一般公開前のクローズドテストとして Google Play で配信中です。テスターリストに登録されたアカウントだけがインストールできるため、2つのステップが必要です。

  1. テスターリストに登録する

    Discord でテスターに参加するか、スマートフォンで Play ストアに使っている Google アカウントのメールアドレスを送ってください。

    メールアプリが開き、ichorformobile@proton.me 宛てのメッセージが送信できる状態になります。このサイトを経由するものは何もありません。

  2. Google Play からインストールする

    アカウントがリストに登録されたら、Android スマートフォンで Play ストアのリンクを開いて Ichor をインストールしてください。

    スマートフォンが手元にない場合は、同じ Google アカウントでウェブからテストに参加できます。

CRD からプラグインをリクエストする

CRD が公開されているオペレーターなら、どれでも Ichor のプラグインにできます。CRD マニフェストへのリンクを指定すると、そこからドラフトのプルリクエストが作成され、メンテナーがレビューと翻訳を行います。まずは未対応のリクエストを確認してください。既存のリクエストへの賛成票は、新しいリクエストと同じ重みを持ちます。

GitHub で入力済みの Issue が開くので、サインインして送信してください。このサイトを経由するものは何もありません。

インストール

  1. スマートフォン用の talosconfig を作成する

    作業用のマシンで、コントロールプレーンノードの1つで読み取り専用の証明書に署名し、ノードを一覧表示します。

    talosctl -n <control-plane-ip> config new talosconfig-phone --roles os:reader --crt-ttl 8760h
    talosctl --talosconfig talosconfig-phone config node <node-1> <node-2> …
  2. アプリをインストールする

    Android では、Play ストアのベータ版に参加して Google Play から Ichor をインストールします。

  3. 構成をインポートする

    ファイルを選択するか、貼り付けるか、QR コードとしてスキャンします:

    qrencode -t ansiutf8 -r talosconfig-phone

    1つの QR コードに収まらない場合は、圧縮してください。アプリが展開します:

    gzip -9 < talosconfig-phone | qrencode -8 -t ansiutf8

Android

Android 8 以降。ベータ期間中は Google Play から配信されます。アップデートは Play ストア経由で届きます。

ベータに参加

iPhone

iOS 17 以降。各リリースには署名なしの IPA が含まれます。Sideloadly または AltStore でインストールすると、Apple ID で署名されます。

最新リリース

Ichor を選ぶ理由

一本の血管が青銅の巨人を生かしていた。あなたの血管にも目を配ろう。

ギリシャ神話のタロス(Talos)は、1日に3度クレタ島の海岸を巡って島を守った青銅の巨人です。首から足首まで一本の血管が通り、神々の黄金の血イーコール(ichor)を運んでいました。イーコールが流れている限り、タロスは立ち続けたのです。

クラスターにも脈があります。ノードは準備完了、サービスは正常、etcd はクォーラムを保っている。Ichor は、どこからでもそれを確かめるために開くアプリであり、脈が乱れたときに肩をたたいて知らせてくれるアプリです。

よくある質問

Talos クラスターがなくても試せますか?

はい。インポート画面で「デモを試す」をタップすると、5つのサンプルノードからなるオフラインのクラスターが開き、ライブメトリクス、サービス、ログ、イベント、etcd、ネットワークを確認できます。デモデータであることが明示され、実際のクラスターと並べて置くことができ、「クラスターの管理」から削除できます。

Talos なしで、EKS、GKE、AKS でも使えますか?

はい。kubeconfig からクラスターを追加するか、AWS、Google Cloud、Azure、DigitalOcean、Rancher のアカウントのクラスターを一覧表示して、選んだものを追加できます。kubeconfig の exec プラグインが行うサインインは、代わりにスマートフォン上で行います(IAM Identity Center、Entra ID、サービスアカウントキー、またはブラウザでの OIDC)。Talos の画面は非表示になりますが、すべての Kubernetes 画面、バックグラウンドアラート、データサービスは利用でき、できる操作は RBAC 次第です。

使っているオペレーターがリストにありません。アプリで表示できますか?

はい。プラグインは1つの YAML ファイルでカスタムリソースを記述します。何を読み取るか、何を正常とみなすか、カード、アクション、検出結果などです。12種類のオペレーターが組み込みプラグインとして付属しており、独自のプラグインを貼り付け、ファイル、https リンク、QR コードからインポートできます。「設定 → プラグイン」では、有効にする前に各プラグインが読み取る内容と変更できる内容を確認できます。形式はプラグインリファレンスに記載されており、リクエストフォームでは公開 CRD のリンクからドラフトのプルリクエストを作成できます。

Ichor は Sidero Labs の公式アプリですか?

いいえ。Ichor はコミュニティが開発した、Talos Linux 用の独立したクライアントです。Sidero のオープンソースの Go クライアントライブラリを使用していますが、Sidero Labs が開発、承認、サポートしているものではありません。

クラスターに何かインストールする必要はありますか?

いいえ。Ichor は talosctl とまったく同じように、talosconfig を使ってすべてのノードがすでに公開している Talos API と通信します。エージェント、オペレーター、中継サーバーはありません。Kubernetes 画面では、Talos が管理者証明書に対して発行する管理者 kubeconfig を使い、メモリ内にのみ保持します。唯一の例外はネットワークテストで、専用の名前空間に短時間だけ netperf の Pod を起動し、終了後にその名前空間を削除します。

データはどこに送られますか?

ノードにだけ送られます。アプリは GitHub で新しいリリースを確認しますが、それ以外は有効にしない限りスマートフォンの外に出ません。AI 診断はデフォルトでオフで、まず実際のレポートを表示し、「質問する」をタップしたときにだけ送信します。名前とアドレスは選択に応じて伏せられます。同梱されていないアプリのロゴのダウンロードもデフォルトでオフで、送信するのはアイコンの公開名だけで、イメージ名は決して送りません。

クラスターを壊してしまうことはありますか?

読み取り専用の証明書なら、Talos API がすべての変更を拒否します。オペレーターまたは管理者の証明書では、危険な操作の前にノードのホスト名の入力が求められ、etcd がクォーラムを失う場合はアップグレードが拒否されます。

新しいスマートフォンに移行するには?

「設定」からクラスターと設定を、パスフレーズで保護してバックアップします。新しいスマートフォンでは、最初の画面で「バックアップから復元」をタップするか、Android ではファイルマネージャーからバックアップファイルを開きます。バックアップは Android と iPhone の間で移行できます。

複数のクラスターを扱えますか?

はい。talosconfig やコンテキストをいくつでもインポートし、ヘッダーから切り替えられます。クラスターごとに色を設定できるので、今どのクラスターにいるのか常にわかります。

クラスターの脈を、いつも手元に。

Ichor を1分でインストールし、デモを開いてから、読み取り専用の証明書で自分のクラスターに接続しましょう。無料、オープンソース、アカウント不要です。

プロジェクトを支援する

Ichor は無料で、広告もトラッキングもありません。ドリフト検出、インシデントレコーダーをはじめ、このページのすべての機能はオープンに開発されています。Ichor のおかげでノート PC を取りに行かずに済んだなら、GitHub Sponsors または暗号資産で今後の開発を支援してください。