Betatester für den Play Store gesucht: Mach mit auf Discord oder melde dich per Mail.

Ichor für Talos Linux und Kubernetes
1.41 Plugins für jede CRD, Pull Requests vom Telefon, Kapazität und Runbooks →

Jeder Cluster, den Sie betreiben, vom Telefon aus.

Ichor wurde für Talos Linux gebaut und spricht mit ihm noch immer über denselben Client wie talosctl. Heute öffnet es auch jede kubeconfig: EKS, GKE, AKS, DigitalOcean, Rancher, Sidero Omni oder eine OIDC-Anmeldung, ohne etwas im Cluster zu installieren und ohne etwas dazwischen. Und wenn ein Operator fehlt, gibt ihm ein Plugin in einer einzigen YAML-Datei einen Screen.

Kein Cluster zur Hand? Tippe auf dem ersten Bildschirm auf Demo ausprobieren: fünf Beispiel-Nodes, Live-Diagramme und Logs, komplett offline. Kostenlos und Open Source, Apache-2.0, standardmäßig nur lesend.

Auf Talos geboren · Überall zu Hause

Es begann als Talos-App. Jetzt öffnet es jede kubeconfig.

Geben Sie eine kubeconfig herein, als Datei, eingefügt, per QR oder über das Teilen-Blatt. Die Vorschau listet jeden Kontext mit seiner Anmeldeart und fügt die gewählten hinzu. Jeder Cluster bekommt eine Kubernetes-Startseite, jeden Kubernetes-Bildschirm, Hintergrund-Alarme und eine eigene Farbe, damit ein Neustart nie den falschen trifft.

  • Talos Linux

    Eine talosconfig, mit den im Zertifikat verankerten Rollen: Node-Zustand, Logs, etcd, KubeSpan, Upgrades, die Talos-API von Ende zu Ende.

  • Sidero Omni

    Melden Sie sich an der Instanz an wie omnictl, wählen Sie die aufgelisteten Cluster. Omnis Rolle für Ihre Identität ist das, was die App darf.

  • Verwaltetes Kubernetes

    EKS, GKE, AKS, DigitalOcean und Rancher: Liste die Cluster des Kontos auf und füge sie hinzu, oder importiere die kubeconfig, die die CLI geschrieben hat. Exec-Plugins werden durch eine Anmeldung auf dem Telefon ersetzt: IAM Identity Center über seine Start-URL, dein Google-Konto oder der OAuth-Client deiner Organisation, Entra ID.

  • Alles andere

    Ein Client-Zertifikat, ein ServiceAccount-Token oder OIDC mit kubelogin, im Browser oder per Gerätecode. k3s, RKE2, kubeadm, OpenShift: was kubectl erreicht, erreicht auch Ichor.

Angemeldet wie Ihr Laptop, versiegelt wie ein Schlüssel

Kein aws-, gcloud- oder az-Binary läuft auf dem Telefon: Ichor tut, was das Exec-Plugin täte, mit einer Anmeldung, die auf dem Gerät bleibt und sich selbst erneuert. Tokens und Schlüssel sind in StrongBox oder der Secure Enclave versiegelt, hinter der App-Sperre.

„Welches Konto nutzt dieser Cluster?“ → steht auf seiner Startseite.

  • 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

Auf einem Cloud-Cluster sagt die Kubernetes-Startseite auch, wohin die Cloud jeden Node gestellt hat: sein Karpenter-Pool, die verwaltete Node-Gruppe, Compute-Klasse oder Agent-Pool, der Maschinentyp, und ob er Spot oder On-Demand ist. Ein Talos-Cluster kann für seine Kubernetes-Bildschirme ebenfalls eine dieser Identitäten nutzen, statt der Admin-kubeconfig.

Neu in 1.22 bis 1.41

Deine Operatoren, dein Git, dein Day Two. Alles auf dem Telefon.

Zwanzig Releases in zwei Wochen: Plugins, die jeder CRD einen Screen geben, Pull Requests, die aus einem Diff auf dem Telefon geöffnet werden, ein Kapazitäts-Screen, der den Verlust eines Nodes simuliert, Alertmanager und der Rest der Kubernetes-Startseite, clusterweite Talos-Upgrades und Runbooks, die weiterlaufen, wenn der Bildschirm dunkel wird.

Jeder Operator, als Plugin

Ein Plugin ist eine einzige YAML-Datei: die zu lesenden Ressourcen, was als gesund gilt, die Karten, Aktionen und Befunde. Zwölf sind eingebaut: kube-green, External Secrets, ExternalDNS, Sealed Secrets, Rook Ceph, MariaDB, Percona, Dragonfly, Temporal, Numaflow und Dataflow. Importiere deines aus der Zwischenablage, einer Datei, einer URL oder einem QR-Code und sieh, was es liest und ändern kann, bevor du es aktivierst. Seine Befunde erreichen den Checkup und die Hintergrund-Alarme.

„Kennt die App meinen Operator?“ → jetzt schon, ohne App-Release.

In Git bearbeiten, vom Telefon

Durchsuche die Dateien, die eine Argo-CD- oder Flux-App ausrollt, in der Revision, die der Cluster ausführt. Bearbeite eine davon, oder ändere schnell ein Image-Tag oder die Replicas, prüfe den Diff mit geprüftem kustomize-Build und öffne einen Pull Request auf GitHub, GitLab, Gitea oder Forgejo. Ein im Cluster von Hand geänderter Wert oder eine behaltene Änderung der Talos-Maschinenkonfiguration wird zurück in seine Datei vorgeschlagen. Die App sagt dir, wann der Pull Request gemergt ist und wann der Cluster ihn ausführt.

„Kannst du das Tag hochziehen?“ → ein Pull Request, aus dem Zug.

Kapazität, und was der Verlust eines Nodes kostet

Freie CPU, Speicher und Datenträger pro Cluster, das OOM- und Eviction-Risiko jedes Workloads nach QoS-Klasse und Priorität, und eine Simulation: Nimm einen oder mehrere Nodes weg und sieh, wohin die Pods gehen, welche verdrängt werden, welche Pending bleiben und was du herunterskalieren solltest. CPU und Speicher in Nutzung kommen vom metrics-server, wie bei kubectl top.

„Können wir w-3 heute Nacht drainen?“ → vier Pods sagen nein.

Die ganze Kubernetes-Startseite

Workloads, Netzwerk, Storage, Observe und Browse: Services und Load Balancing, Jobs, Storage-Claims und ihr Füllstand, Autoscaling mit HPA, KEDA, VPA und Karpenter, Kyverno- und Gatekeeper-Richtlinien, virtuelle Maschinen von KubeVirt, Velero-Backups, Helm-Releases, Live-Ereignisse und Alertmanager mit Stummschaltungen vom Telefon aus. Jedes Objekt hat eine Zusammenfassung, YAML mit Schema-Hilfe, Skalieren, Löschen und die Aktionen, die dein RBAC erlaubt, und Listen aktualisieren sich live.

„Wer hat um 3 Uhr nachts ausgelöst?“ → der Alarm, mit einem Tipp stummgeschaltet.

Day Two auf Talos, vom Telefon

Upgrade jeden Node einen nach dem anderen, vorher gedraint, wenn das Upgrade es nicht täte, und upgrade Kubernetes nach einem Dry Run. Füge einen Node hinzu: Inspiziere ihn im Wartungsmodus, erstelle seine Konfiguration aus einem Mitglied, sende sie und folge ihm, bis er beitritt. Ersetze einen Control-Plane-Node mit einem geführten Plan, stelle etcd aus einem Snapshot wieder her, behebe seinen NOSPACE-Alarm mit einem Tipp, und setze einen Node zurück oder lösche ihn, abgelehnt, wenn es etcd kaputtmachen würde.

„Das 1.13-Upgrade?“ → alle acht Nodes, vom Sofa aus.

Runbooks, und lange Läufe, die den Bildschirm überdauern

Ein Runbook ist eine geordnete Liste der eigenen Aktionen der App, importiert mit vorher angezeigtem Plan und ausgeführt mit einer Bestätigung je destruktivem Schritt. Syncs, Reconciles, Neustarts, Konfigurationsänderungen auf mehreren Nodes und Netzwerktests laufen im Hintergrund mit Fortschritt und Stopp: in einem Benachrichtigungskanal „Operationen“ unter Android, auf dem Sperrbildschirm und in der Dynamic Island unter iOS.

„Ist das Freitags-Runbook durchgelaufen?“ → Schritt 3 wartet auf dich.

  • In der Cloud anmelden, ohne CLI

    GKE mit deinem Google-Konto oder dem OAuth-Client deiner Organisation, EKS mit IAM Identity Center allein über die Start-URL. Füge eine aws-Konfiguration, gcloud-Zugangsdaten oder eine omniconfig ein oder scanne sie, und die Anmeldung ist vorausgefüllt.

  • Images auf Schwachstellen gescannt

    Grype oder Trivy scannt die Images eines Pods, eines Workloads oder die Talos-System-Images eines Nodes. Berichte bleiben auf dem Telefon, und was seit dem letzten Scan neu ist, wird markiert.

  • Dreißig Tage Verlauf

    Uptime je Node, was sich seit deinem letzten Blick geändert hat, Sparklines für Füllstand und Speicher, eine Storage-Prognose, die „voll in ~9 Tagen“ sagt, und eine anonymisierte Vorfallszusammenfassung zum Teilen als Markdown.

  • Suche, Siri und das Handgelenk

    Durchsuche die Nodes, Pods, Workloads und Apps jedes Clusters von der Startseite aus, oder über Spotlight, Siri und Kurzbefehle unter iOS. Eine Apple-Watch-App und eine Wear-OS-Kachel zeigen den Zustand jedes Clusters.

  • Tablets und iPad

    Nodes und GitOps-Apps öffnen sich neben ihrer Liste, die Übersicht zeigt zwei Spalten, und die iPad-Seitenleiste listet deine Cluster und die Bereiche des Clusters neben dem aktuellen Screen.

  • Einstellungen, Backups und Schlüssel

    Einstellungen in Seiten gruppiert. Backups als age-Dateien, mit einer Passphrase oder deinen öffentlichen age-Schlüsseln, bewahren jetzt Pins, Git-Hosts und KI-Einstellungen und wandern zwischen Android und iPhone.

  • Mehr in deiner Hand

    Helm-Rollback mit Hooks und Wait, skaliere alles, was /scale bereitstellt, Taints und Labels mit einem Dry-Run-Plan, eingefügtes YAML mit einem Dry-Run-Diff, ein Debug-Container für Images ohne Shell, ein auf jedem Node vorab gezogenes Image, tote Pods aufgeräumt.

  • Node-Werkzeuge und Hardware

    DNS-, Ping-, Port-, Traceroute- und HTTP/TLS-Prüfungen von einem Node aus, Sensoren, CPU-Frequenz und Drosselung, die Partitionen und Verschlüsselung jedes Datenträgers und Ersatzteile für den Server, von seinem Hardware-Screen aus.

Betreiben, nicht nur zuschauen

Jede Änderung protokolliert, jede Aktion vorher geprüft.

Ein Sicherheitsschlüssel zum Entsperren der App, ein verschlüsseltes Log dessen, was die App geändert hat und wer getippt hat, der Diff, den Argo CD anwenden würde, ein PromQL-Assistent auf dem Metrik-Screen, die Ersparnisse von CAST AI auf beiden Plattformen und Kubernetes-Aktionen, die vorher wissen, ob dein Konto sie ausführen darf.

Ein Audit-Log dessen, was das Telefon getan hat

Jede Cluster-Änderung aus der App, Neustart, Restart, Sync, Rollback, Löschen, wird mit ihrem Ergebnis aufgezeichnet, auch wenn ein Hintergrundlauf abstürzt, in einem auf dem Gerät verschlüsselten Log. Der Bildschirm Aktivität liest es auf Android und iOS.

„Wer hat grafana um 14 Uhr neu gestartet?“ → dieses Telefon, von diesem Bildschirm.

Argo CD: erst der Diff, dann der Sync

Diff anzeigen zeigt, was ein Sync ändern würde, Objekt für Objekt, aus dem Vergleich, den der Controller bereits gemacht hat, Secret-Werte verborgen. Die Revision, jeder Verlaufseintrag und ein laufender Sync verlinken auf ihren Commit auf GitHub, GitLab, Gitea, Forgejo, Codeberg oder Bitbucket. Ein Rollback verlangt jetzt, den Namen der App einzutippen.

„Was berührt dieser Sync?“ → die drei Objekte, bevor Sie tippen.

Mit einem Sicherheitsschlüssel entsperren

Ein YubiKey oder jeder FIDO2-Schlüssel, über NFC oder USB, kann PIN und Biometrie für die App-Sperre ersetzen und die gespeicherten Konfigurationen so versiegeln, dass nichts sie ohne den Schlüssel liest, nicht einmal eine Kopie des Telefonspeichers.

„Telefon verloren?“ → die Konfigurationen sind an einen Schlüssel versiegelt, der nicht darin steckt.

Ein PromQL-Assistent auf dem Metrik-Bildschirm

Sagen Sie, was Sie sehen wollen; der Assistent schreibt die Abfrage, führt sie gegen Ihr Prometheus aus, um zu prüfen, dass sie etwas liefert, und fügt das Panel hinzu. Optional, standardmäßig aus, mit Ihrem eigenen Claude- oder OpenAI-Schlüssel, auf Android und iOS.

„Speicher jedes Pods auf w-2, gestapelt“ → ein Panel, geprüft.

CAST AI auf beiden Plattformen

Workload-Empfehlungen mit dem Geld, das sie sparen, Node-Konsolidierungspläne und was ein fehlgeschlagener Plan als entgangene Ersparnis hinterließ, in einer neu gestalteten Workload-Ansicht, jetzt auf iOS wie auf Android.

„Was ist überdimensioniert?“ → sortiert, mit der Ersparnis.

Jedes Objekt, zusammengefasst, mit dem, was Sie dürfen

Jedes Objekt hat jetzt einen Zusammenfassungs-Tab, wie der Anfang von kubectl describe: Bedingungen, Besitzer, die Ereignisse der letzten Stunde. Seine Aktionen sind einen Tipp entfernt, und die, die Ihr Konto nicht ausführen darf, sind mit dem Grund deaktiviert, beim API-Server erfragt, bevor Sie es versuchen.

„Kann ich das von hier neu starten?“ → ja, oder warum nicht.

  • Alarme auf jedem Cluster

    Hintergrund-Alarme, Datendienste und die anordenbare Startseite funktionieren jetzt auf Clustern aus einer kubeconfig, nicht nur auf Talos-Clustern.

  • Alarme, die den richtigen Bildschirm öffnen

    Tippen Sie auf eine Benachrichtigung und landen Sie beim Node, Pod oder Backup, um das es geht, mit einem Android-Kanal je Art, um stummzuschalten, was Sie wollen.

  • Getippte Bestätigungen

    Alle Cluster löschen oder eine Argo-CD-App zurückrollen verlangt, ihren Namen einzutippen. Ein-Tipp-Aktionen sitzen dort, wo ihr Objekt ist.

  • Gleiche Einstellungen, beide Plattformen

    Android und iOS teilen ein Einstellungs-Layout, sagen, woher Updates kommen, und bestehen eine Barrierefreiheitsprüfung mit lesbarem dichtem Text.

Netzwerk, Speicher und Druck

Liegt es am Netzwerk, am Storage oder am Node? Miss es.

Etwas ist langsam und jeder Node sagt Ready. Ichor misst die Verbindung zwischen zwei Nodes, prüft den Speicher und die Datenbanken, auf denen Ihre Apps sitzen, und zeigt, welchen Workload ein Node aushungert, direkt vom Telefon.

Netzwerktest

Wähle zwei Nodes, aus einer Liste oder unter Android direkt auf der Clusterkarte, und Ichor misst sie mit netperf, so wie cilium connectivity perf, mit jedem CNI: TCP-Durchsatz, dann Latenz bei p50, p90 und p99, von Pod zu Pod und auf Wunsch von Host zu Host. Die Ergebnisse werden gespeichert und im Zeitverlauf dargestellt.

„Ist der neue Switch schneller?“ → gemessen.

Datendienste

Ichor erkennt Longhorn, CloudNativePG, Garage, Rook Ceph, MariaDB, Percona und Dragonfly im Cluster und prüft sie: degradierte Volumes und ihre Replikas, Postgres-Instanzen und veraltete oder fehlgeschlagene Backups, CSI-Snapshots und Backup-CronJobs, Garage-Nodes, Master und Replikas von Dragonfly. Jedes Problem nennt den Node dahinter. Befördere eine Replika, führe ein Failover durch, rette ein Volume oder erstelle seinen Snapshot direkt aus der Zeile, und optionale Alarme sagen dir, wenn ein Volume ausfällt, ein Datenträger vollläuft oder Backups ausbleiben.

„Lief das Backup heute Nacht?“ → ja, oder warum nicht.

Argo CD

Wenn Argo CD im Cluster läuft, listet Ichor seine Anwendungen mit Gesundheit und Sync-Status, verfolgt eine Synchronisierung Welle für Welle und lässt dich synchronisieren, aktualisieren, eine Synchronisierung abbrechen, Auto-Sync pausieren oder zurückrollen. Es spricht die Application-Ressourcen mit der Admin-Kubeconfig an, die Talos ausstellt: kein Argo-CD-Token, und eine App, die ein ApplicationSet verwaltet, wird nie hinter seinem Rücken geändert.

Eine App, die Ichor nicht erkennt, etwa ein eigenes Projekt, kann ihr eigenes Logo mit der Annotation ichor.levis.name/icon mitbringen: ein Dashboard-Icons-Name, ein https-Link zu einem PNG oder WebP (nur geladen, wenn du das Herunterladen von Symbolen erlaubst) oder das Bild selbst, eingebettet in Base64.

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

„Warum ist diese App degradiert?“ → der Pod und der Knoten.

Node-Druck und Cgroups

Wie lange Arbeit auf einem Node auf CPU, Speicher oder Datenträger wartet, dargestellt über die letzten fünf Minuten, mit dem Workload, der am meisten wartet, OOM-Kills und Containern nahe ihrem Speicherlimit. Der Tab „Cgroups“ schlüsselt wie talosctl cgroups alles nach Dienst, Pod und Container auf.

„Wer frisst w-2 auf?“ → benannt.

Dafür ist ein os:admin-Zertifikat nötig. Der Netzwerktest startet seine Pods in einem eigenen Namespace mit dem Pod-Sicherheitsprofil „restricted“ und löscht ihn danach; jede Messung lastet die Verbindung 5 bis 20 Sekunden lang aus. Gespeicherte Ergebnisse bleiben verschlüsselt auf dem Smartphone und außerhalb von Sicherungen, und Warnungen zu Datendiensten sind aus, bis du sie einschaltest.

  • Clusterkarte

    Unter Android zeichnet der KubeSpan-Screen deine Standorte, Nodes und Tunnel, aktiv, beeinträchtigt oder ausgefallen, mit einer Flagge für jede Zone. Tippe auf zwei Nodes, um die Verbindung zwischen ihnen zu testen.

  • Eine App im Browser öffnen

    Das Detailblatt einer App listet ihre Webadressen auf, gefunden in den Ingresses und Gateway-API-HTTPRoutes, die auf sie zeigen, nur einen Tipp entfernt.

  • Findet deinen Cluster im LAN

    Kein Endpoint antwortet von hier aus? Unter Android durchsucht Ichor das lokale Netzwerk nach Nodes, die deine Zugangsdaten akzeptieren, und du kannst Endpoints von Hand bearbeiten.

  • Fertige Debug-Befehle

    Rund 40 netshoot-Befehle für DNS, MTU, TLS, KubeSpan und mehr, nur einen Tipp entfernt in der Debug-Shell, sodass du die Smartphone-Tastatur kaum brauchst.

Apps und Kubernetes

Wisse, was auf deinem Cluster läuft, und gib ihm einen Schubs, wenn es hängt.

Talos sagt dir, dass die Nodes in Ordnung sind. Aber ist Grafana aktuell, warum läuft ein Cilium-Agent noch auf der alten Version, und welcher Pod steckt in einer Crash-Schleife? Ichor zeigt jetzt die Software, die im Cluster läuft, und startet mit einem Admin-Zertifikat den Workload neu oder löscht den hängenden Pod, ganz ohne Laptop.

App-Inventar

Jeder Container auf jedem Node, gruppiert in die Apps, die du kennst, mit ihren Logos: Home Assistant, Immich, der *arr-Stack, Longhorn, Cilium und etwa 400 weitere. Sidecars und Init-Container gehören zu ihrer App, und Ichor markiert eine App, die zwei Versionen gleichzeitig ausführt, oder ein nicht gepinntes :latest-Image.

„Läuft alles auf der neuen Version?“ → ein Blick genügt.

Workloads und Rollout-Neustart

Deployments, StatefulSets und DaemonSets mit Bereitschaft und Rollout-Status, die problematischen zuerst. Starte einen per Rolling Update neu, wie mit kubectl rollout restart, nach einer Bestätigung, die warnt, wenn nur ein einziger Pod läuft. Danach wird der Rollout live angezeigt, alte und neue Pods, bis jeder neue Pod bereit ist; schließe ihn jederzeit, der Rollout läuft weiter.

„Braucht nur einen Schubs.“ → erledigt, vom Bett aus.

Pods, problematische zuerst

Jeder Pod mit dem Status, den kubectl get pods anzeigt (CrashLoopBackOff, Init:Error, Terminating), seinen Neustarts und seinem Node. Lösche einen hängenden Pod, damit sein Controller eine frische Kopie startet; die Bestätigung sagt dir, ob ihn etwas wiederherstellt.

„Warum startet er immer noch neu?“ → weg, neu erstellt.

CronJobs auf Abruf

Jeder CronJob mit Zeitplan, nächstem Lauf und dem Ergebnis der letzten Läufe, fehlgeschlagene und laufende zuerst. Starte einen sofort, wie mit kubectl create job --from, nach einer Bestätigung: Der Job gehört weiter zu seinem CronJob, Verlauf und Aufräumen gelten also weiterhin.

Gib jedem ein Logo, einen Namen und eine Zeile Beschreibung per Label oder Annotation; ohne Icon nimmt Ichor das der App, zu der sein Image gehört, sonst eine Uhr. Setze ichor.levis.name/trigger=false, damit ein Job nur nach Zeitplan läuft.

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

„Das Backup ist heute Nacht fehlgeschlagen.“ → neu gestartet, vom Sofa aus.

Das App-Inventar funktioniert mit einem nur lesenden os:reader-Zertifikat, und die Logos sind in der App enthalten, es wird also nichts online nachgeschlagen. Workloads und Pods nutzen die Admin-kubeconfig, die Talos ausstellt, und halten sie nur im Arbeitsspeicher. Der Screenshot-Modus blendet alle Logos sowie Adressen und Node-Namen aus.

  • „Cluster nicht erreichbar“, erklärt

    VPN aus oder im falschen Netz? Statt einer Wand aus roten Nodes erklärt ein einziger Hinweis den Grund, versucht es selbstständig erneut und erholt sich, sobald deine Verbindung zurück ist.

  • Belege zu jedem Vorfall

    Aufgezeichnete Vorfälle speichern jetzt auch die Dienstzustände und Änderungen an Netzwerkverbindungen zum jeweiligen Zeitpunkt, technische Details nur einen Tipp entfernt.

  • Logos für den Rest, wenn du willst

    Für Apps jenseits der 400 mitgelieferten kann Ichor ein Logo aus dem offenen Dashboard-Icons-Set herunterladen. Das ist standardmäßig aus und sendet nur den öffentlichen Namen des Icons.

  • Versionsabweichungen erkannt

    Ein Node noch auf dem alten Cilium, ein vergessenes :latest-Tag: Apps, die einen Blick brauchen, werden direkt in der Übersicht gezählt.

Clusteranalyse

Schluss mit Raten, was sich geändert hat. Dein Smartphone hat es gesehen.

Es ist 3 Uhr nachts, ein Node flattert und dein Laptop liegt im Nebenzimmer. Die Clusteranalyse macht Ichor von einer Statusseite zum Werkzeugkasten für die Fehlersuche: Finde den abweichenden Node, zeichne den Vorfall auf, während er passiert, und sieh, welche Ressource wirklich den Engpass bildet. Alles mit einem nur lesenden os:reader-Zertifikat.

Konfigurationsabweichungen

Der eine Worker mit anderer MTU, der vergessene NTP-Server, die bei einem Upgrade zurückgebliebene Erweiterung. Ichor vergleicht DNS, NTP, MTUs, Erweiterungsversionen, Secure Boot, UKI und Talos-Versionen innerhalb jeder Rolle oder mit einem gespeicherten Referenzstand und zeigt auf den Ausreißer.

„Warum ist nur w-3 langsam?“ → gefunden.

Vorfallsaufzeichnung

Tippe auf Aufnahme, während es passiert, und Ichor erstellt bis zu zehn Minuten lang eine Zeitachse: Talos-Ereignisse live, dazu Node-Bereitschaft, Dienste, Verbindungen und Netzwerkzähler, alle fünf Sekunden erfasst. Die Zeitachse wird gespeichert, bereit für das Postmortem.

„Was ist zuerst kaputtgegangen?“ → steht auf der Zeitachse.

Engpassmetriken

Hohe Last, aber liegt es an der CPU, dem Datenträger, dem Netzwerk oder einem lauten Nachbarn auf dem Hypervisor? Der Tab „Live“ zeigt jetzt E/A-Wartezeit und VM-Steal-Zeit, Durchsatz und E/A-Zeit pro Datenträger sowie Durchsatz, Fehler und verworfene Pakete pro Schnittstelle, ohne falsche Spitzen nach einem Neustart.

„Ist es der Datenträger?“ → jetzt weißt du es.

Referenzstände und Aufzeichnungen werden auf dem Smartphone verschlüsselt, pro Cluster getrennt gehalten und nie gesichert. Es werden keine Maschinenkonfigurationen, kubeconfigs oder Roh-Logs erfasst, und du kannst alles über den Analysebildschirm löschen.

  • Findet die Nodes, die du vergessen hast

    Deine talosconfig listet nur einen Endpoint? Ichor fragt den Cluster nach seinen Mitgliedern und bietet an, die fehlenden Nodes mit einem Tipp hinzuzufügen.

  • Wake-on-LAN

    Wecke einen ausgeschalteten Node über sein Aktionsmenü auf. Ichor merkt sich die Netzwerkkarten jedes Nodes, solange er läuft, sodass du ihn aufwecken kannst, auch wenn du es nie eingerichtet hast.

  • Ausprobieren ohne Cluster

    Die integrierte Demo läuft offline mit fünf Beispiel-Nodes, Live-Metriken, Logs, etcd und mehr. Sieh dir alles an, bevor du auch nur eine Konfiguration importierst.

  • Sicherer importieren, schneller wechseln

    Ein Kontext mit bekanntem Namen überschreibt beim Import nie einen Cluster. Halte das App-Symbol gedrückt, um direkt in einen beliebigen Cluster zu springen.

So sieht es aus

Echte Screens aus einem laufenden Cluster, aufgenommen im Screenshot-Modus: Adressen und Node-Namen sind durch Platzhalter ersetzt.

Clusterübersicht von Ichor für Talos Linux
ClusterübersichtJeder Node auf einen Blick und ein Hinweis, wenn eine neuere Talos-Version erschienen ist.
Dienste-Ansicht von Ichor für Talos Linux
DiensteZustand jedes Talos-Dienstes, mit Neustart für Operatoren.
Kernel- und Dienst-Logs in Ichor für Talos Linux
Kernel- und Dienst-LogsNach Level eingefärbt, Wiederholungen zusammengefasst, Filter auf Warnungen oder Fehler.
Ereignisansicht von Ichor für Talos Linux
EreignisseDienständerungen und Node-Zustände in Echtzeit.
Live-Diagramme in Ichor für Talos Linux
Live-DiagrammeCPU, Speicher, Netzwerk, Datenträger und Last alle zwei Sekunden.
Paketmitschnitt in Ichor für Talos Linux
PaketmitschnittEine Live-Paketliste, gespeichert als .pcap für Wireshark.
Talos-Upgrade in Ichor für Talos Linux
Talos-UpgradeDein Installer-Image mit der neuen Version, nach Vorabprüfungen.

Die talosctl-Befehle, die du brauchst, als Screens

Alles läuft über den offiziellen Talos-Go-Client, daher verhalten sich talosconfig-Kontexte, mTLS und das Proxying vom Endpoint zum Node genau wie bei talosctl.

Statt Öffne Rolle
talosctl get machinestatus ClusterübersichtJeder Node: bereit, nicht bereit oder nicht erreichbar, mit den unerfüllten Bedingungen, der Uhrzeitabweichung und verfügbaren Talos-Upgrades. reader
talosctl services, talosctl logs -f Dienste und LogsDienstzustand sowie Dienst- und Kernel-Logs, nach Level eingefärbt, mit zusammengefassten Wiederholungen und Live-Verfolgung. reader
talosctl events Ereignis-ZeitachseDienständerungen, Boot-Phasen und Adressänderungen im ganzen Cluster, in Echtzeit. reader
talosctl dashboard, talosctl processes Live-Diagramme und ProzesseCPU, Speicher, Netzwerk, Datenträger und Last alle zwei Sekunden, und die Prozessliste nach CPU oder Speicher sortiert. reader
talosctl get members Node-ErkennungCluster-Mitglieder, die deine talosconfig noch nicht anspricht, mit einem Tipp zum Kontext hinzugefügt, und unter Android eine Suche im lokalen Netzwerk, wenn kein Endpoint antwortet. reader
diff of talosctl get … on every node KonfigurationsabweichungenDNS, NTP, MTUs, Erweiterungen, Secure Boot, UKI und Talos-Versionen, innerhalb einer Rolle oder mit einem gespeicherten Referenzstand verglichen. reader
talosctl events + watch, in a terminal VorfallsaufzeichnungEreignisse und erfasster Node-, Dienst- und Netzwerkzustand, zusammengeführt in einer gespeicherten Zeitachse. reader
talosctl read /proc/stat, /proc/diskstats EngpassmetrikenE/A-Wartezeit, Steal-Zeit, E/A pro Datenträger sowie Fehler und verworfene Pakete pro Schnittstelle, live. reader
talosctl containers -k PodsContainer nach Pod gruppiert, mit CPU und Speicher. reader
talosctl containers -k on every node App-InventarDie im Cluster laufende Software, gruppiert in Apps mit Logos, Versionen, Versionsabweichungen und nicht fixierten Images. reader
talosctl get links, talosctl netstat NetzwerkSchnittstellen, Adressen, Routen, DNS- und Zeitserver sowie offene Verbindungen. reader
talosctl apply-config --mode try MaschinenkonfigurationDie Konfiguration des Nodes Feld für Feld oder als YAML, Secrets verborgen, bis du sie aufdeckst. Bearbeite sie und probiere die Änderung aus: Der Node setzt sich selbst zurück, wenn du sie nicht behältst. admin
talosctl etcd status, etcd snapshot etcdMitglieder, Leader, Größe und Alarme, Defragmentierung und ein Snapshot, auf dem Smartphone gespeichert. reader / backup
talosctl get kubespanpeerstatuses KubeSpanDie Peers jedes Nodes: Status, Endpoint, letzter Handshake und Traffic, und unter Android eine Karte der Standorte, Nodes und Tunnel. reader
talosctl service restart DienststeuerungEinen Dienst starten, stoppen oder neu starten, mit einer Warnung bei kritischen Diensten. operator
talosctl reboot -m powercycle Neustart, Herunterfahren und AufweckenGeordnet, per Power-Cycle oder erzwungen, nachdem du zur Bestätigung den Hostnamen eingetippt hast. Wecke einen ausgeschalteten Node per Wake-on-LAN auf. operator
talosctl pcap PaketmitschnittEine Live-Paketliste mit dekodierten Details, gespeichert als .pcap zum Öffnen in Wireshark. operator
talosctl upgrade Talos-UpgradeEin Node nach dem anderen, abgelehnt, wenn etcd das Quorum verlieren würde, mit Fortschrittsanzeige, bis der Node wieder da ist. admin
kubectl get deploy,sts,ds, kubectl rollout restart Kubernetes-WorkloadsBereitschaft und Rollout-Status jedes Deployments, StatefulSets und DaemonSets, und ein Rolling Restart nach einer Bestätigung. admin
kubectl get cronjobs, kubectl create job --from Kubernetes-CronJobsZeitplan, nächster Lauf und letzte Läufe jedes CronJobs, mit dem Icon und Namen, die du ihm gibst, und ein manueller Lauf nach einer Bestätigung. admin
kubectl get pods, kubectl delete pod Kubernetes-PodsPod-Status, Bereitschaft, Neustarts und Node, problematische zuerst; lösche einen hängenden Pod, damit sein Controller ihn neu erstellt. admin
cilium connectivity perf, netperf NetzwerktestTCP-Durchsatz und Latenz von p50 bis p99 zwischen zwei Nodes, von Pod zu Pod oder Host zu Host, gespeichert und im Zeitverlauf dargestellt. admin
kubectl get volumes.longhorn.io, clusters.postgresql.cnpg.io DatendiensteLonghorn-Volumes, CloudNativePG-Cluster und ihre Backups, Garage, Rook Ceph, MariaDB, Percona und Dragonfly, mit dem Node hinter jedem Problem und der Lösung in der Zeile. admin
talosctl cgroups Node-Druck und CgroupsCPU-, Speicher- und Datenträgerdruck, der Workload, der am meisten wartet, OOM-Kills und die Nutzung pro Dienst, Pod und Container. admin
talosctl config new talosconfig ausstellenDas Zertifikat dieses Smartphones erneuern oder ein nur lesendes für ein anderes Gerät als QR-Code erstellen. admin
talosctl rotate-ca Talos-CA erneuernJeder Knoten vertraut der neuen CA, bevor die alte verschwindet, und die talosconfig dieses Handys zieht unterwegs mit. admin
talosctl health Cluster-ZustandsprüfungDie serverseitigen Prüfungen, live übertragen, während sie laufen. admin
talosctl debug Debug-ShellStarte ein Image wie nicolaka/netshoot auf einem Node und erhalte ein Terminal, mit rund 40 fertigen Befehlen. admin
dig, ping, nc -z, traceroute, curl -v Node-NetzwerkwerkzeugeDNS-, Ping-, Port-, Traceroute- und HTTP/TLS-Prüfungen, von einem Node aus ausgeführt und in Felder zerlegt. admin
talosctl upgrade on every node, talosctl upgrade-k8s Cluster-UpgradeJeder Node einer nach dem anderen, bei Bedarf vorher gedraint, und Kubernetes nach einem Dry Run, mit einer Warnung, wenn eine Erweiterung keinen Build für das Ziel hat. admin
talosctl apply-config --insecure, talosctl reset Node hinzufügen, ersetzen, zurücksetzenInspiziere einen Node im Wartungsmodus, sende ihm eine aus einem Mitglied erstellte Konfiguration und folge ihm, bis er beitritt; ersetze einen Control-Plane-Node mit einem geführten Plan; setze einen zurück oder lösche ihn, abgelehnt, wenn etcd kaputtginge. admin
talosctl etcd defrag, alarm disarm, bootstrap --recover-from etcd-ReparaturBehebe einen NOSPACE-Alarm mit einem Tipp (Snapshot, Defragmentieren, Entschärfen, Prüfen) und stelle etcd aus einem Snapshot wieder her. admin
talosctl get disks, volumestatus Storage und HardwareDie Partitionen, der freie Platz und die Verschlüsselung jedes Datenträgers, Sensoren, CPU-Frequenz und Drosselung sowie Ersatzteile für den Server. reader
kubectl get all -A, kubectl describe, kubectl scale Jedes Kubernetes-ObjektEin Browser für jede Art, jedes Objekt mit einer Zusammenfassung von Bedingungen, Besitzern und Ereignissen, YAML mit Schema-Hilfe, Skalieren, Löschen und den Aktionen, die dein RBAC erlaubt. RBAC
kubectl get svc,jobs,pvc,hpa, kubectl top Services, Jobs, Storage, Autoscaling, KapazitätAdressen und Routen, Load-Balancer-Pools, Job-Status und Besitzer, Claims und ihr Füllstand, HPA, KEDA, VPA und Karpenter, freier Platz pro Cluster und was der Verlust eines Nodes kosten würde. RBAC
kubectl get events -w, amtool alert, amtool silence Live-Ereignisse und AlertmanagerClusterweite Ereignisse in Echtzeit, aktive Alarme und Stummschaltungen, eine Stummschaltung vom Telefon aus gesetzt und Alarme auf deinem Telefon, wenn einer auslöst. RBAC
kubectl get cpol,policyreports, constraints RichtlinienKyverno- und Gatekeeper-Richtlinien, ihre Befunde und der Zustand der Engine; schalte eine Richtlinie zwischen Audit und Enforce um. RBAC
virtctl, kubectl get vm,vmi Virtuelle MaschinenKubeVirt-VMs mit Starten, Stoppen, Neustarten, Migrieren, Pausieren und einer seriellen Konsole im Terminal der App. RBAC
helm rollback, velero restore, kubectl apply --dry-run Helm, Velero und YAMLRolle ein Helm-Release mit seinen Hooks zurück, stelle ein Velero-Backup mit Vorschau und Namespace-Zuordnung wieder her, führe einen Zeitplan sofort aus und wende eingefügtes YAML nach einem Dry-Run-Diff an. RBAC
kubectl argo rollouts, kubectl get managed, tailscale Argo Rollouts, Crossplane, Tailscale, Cluster APIBefördere, brich ab oder wiederhole ein Rollout; pausiere, setze fort oder reconcile eine Crossplane-Ressource; Connectors und Proxy-Gruppen; Cluster, Maschinen und Sidero-Metal-Server. RBAC
grype, trivy image Image-ScanSchwachstellen der Images eines Pods, eines Workloads oder der Talos-System-Images eines Nodes, Berichte aufbewahrt mit dem, was seit dem letzten Scan neu ist. reader
git checkout -b, git commit, gh pr create Git und Pull RequestsDurchsuche die Dateien, die eine App ausrollt, bearbeite eine oder mehrere, prüfe den Diff und seinen kustomize-Build und öffne einen Pull Request auf GitHub, GitLab, Gitea oder Forgejo. Git token
a shell script of kubectl and talosctl calls RunbooksEine geordnete Liste der eigenen Aktionen der App, importiert mit vorher angezeigtem Plan, ausgeführt mit einer Bestätigung je destruktivem Schritt. per step
kubectl get <your CRD> PluginsZwölf eingebaute Operatoren und deine eigenen CRDs, beschrieben in einer einzigen YAML-Datei, mit Karten, Aktionen und Befunden, die den Checkup und die Alarme erreichen. RBAC

Dein Smartphone bekommt nur den Zugriff, den du ihm gibst

Erstelle eine eigene talosconfig für das Smartphone. Die App liest ihre Rollen aus und zeigt nur, was dieses Zertifikat darf. Geht das Smartphone verloren, gewährt das Zertifikat nicht mehr als das, und es läuft von selbst ab.

Operator

os:operator

Alles aus „Nur Lesen“, dazu Neustart, Herunterfahren, Dienst-Neustarts und Paketmitschnitt.

Admin

os:admin

Ergänzt die Zustandsprüfung, die Maschinenkonfiguration, Talos- und Kubernetes-Upgrades, das Hinzufügen, Ersetzen und Zurücksetzen von Nodes, etcd-Reparatur, das Ausstellen von talosconfigs, kubeconfig-Export, Debug-Shells, Netzwerktests, Node-Druck und jeden Kubernetes-Screen über die Admin-kubeconfig, die Talos ausstellt. Auf einem kubeconfig-Cluster bestimmt dein RBAC, was du darfst, abgefragt, bevor du tippst.

Die talosconfig wird mit einem Schlüssel aus dem Sicherheitschip des Smartphones verschlüsselt: StrongBox oder TEE unter Android, Secure Enclave auf dem iPhone. Eine optionale Sperre per Fingerabdruck, Face ID oder PIN schützt die App und jeden Neustart.

Werde Betatester im Play Store

Ichor ist im geschlossenen Test auf Google Play, bevor es öffentlich erscheint. Nur Konten auf der Testerliste können es installieren, daher zwei Schritte.

  1. Auf die Testerliste kommen

    Komm zu den Testern auf Discord oder schick die E-Mail des Google-Kontos, das dein Telefon für den Play Store nutzt.

    Das öffnet deine Mail-App mit der Nachricht an ichorformobile@proton.me, bereit zum Senden; nichts läuft über diese Website.

  2. Aus Google Play installieren

    Sobald dein Konto auf der Liste steht, öffne den Play-Store-Link auf deinem Android-Telefon und installiere Ichor.

    Nicht am Telefon? Tritt dem Test im Web bei, mit demselben Google-Konto.

Ein Plugin anhand seiner CRD anfragen

Jeder Operator mit einer öffentlichen CRD kann ein Ichor-Plugin werden. Gib den Link zu seinem CRD-Manifest an: Daraus wird ein Pull-Request-Entwurf geöffnet, den ein Maintainer prüft und übersetzt. Sieh dir zuerst die offenen Anfragen an: Ein Daumen hoch bei einer zählt so viel wie eine neue Anfrage.

Das öffnet ein vorausgefülltes Issue auf GitHub, wo du dich anmeldest und es absendest; nichts läuft über diese Seite.

Installation

  1. Eine talosconfig für das Smartphone erstellen

    Signiere auf deiner Workstation ein nur lesendes Zertifikat auf einem Control-Plane-Node und liste dann deine Nodes auf.

    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. App installieren

    Unter Android tritt der Play-Store-Beta bei und installiere Ichor aus Google Play.

  3. Konfiguration importieren

    Wähle die Datei aus, füge sie ein oder scanne sie als QR-Code:

    qrencode -t ansiutf8 -r talosconfig-phone

    Zu groß für einen QR-Code? Komprimiere sie, die App entpackt sie:

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

Android

Android 8 und neuer, über Google Play, solange Ichor in der Beta ist. Updates kommen über den Play Store.

Der Beta beitreten

iPhone

iOS 17 und neuer. Jedes Release enthält eine unsignierte IPA: Installiere sie mit Sideloadly oder AltStore, die sie mit deiner Apple-ID signieren.

Neuestes Release

Warum Ichor

Eine einzige Ader hielt den bronzenen Riesen am Leben. Behalte deine im Blick.

In der griechischen Sage war Talos der bronzene Riese, der Kreta bewachte und dreimal am Tag die Küste abschritt. Eine einzige Ader verlief von seinem Hals bis zum Knöchel und führte Ichor, das goldene Blut der Götter. Solange das Ichor floss, stand Talos.

Auch dein Cluster hat einen Puls: Nodes bereit, Dienste fehlerfrei, etcd mit Quorum. Ichor ist die App, mit der du ihn von überall prüfst, und die dir auf die Schulter tippt, wenn er stockt.

Fragen

Kann ich es ohne Talos-Cluster ausprobieren?

Ja. Tippe auf dem Importbildschirm auf „Demo ausprobieren“: ein Offline-Cluster aus fünf Beispiel-Nodes mit Live-Metriken, Diensten, Logs, Ereignissen, etcd und Netzwerk. Er ist deutlich als Demodaten gekennzeichnet, kann neben deinen echten Clustern bestehen und lässt sich unter „Cluster verwalten“ entfernen.

Funktioniert es ohne Talos, auf EKS, GKE oder AKS?

Ja. Fügen Sie einen Cluster aus einer kubeconfig hinzu, oder listen Sie die Cluster eines AWS-, Google-Cloud-, Azure-, DigitalOcean- oder Rancher-Kontos und fügen Sie die gewählten hinzu. Die Anmeldung, die das Exec-Plugin der kubeconfig ausführen würde, passiert stattdessen auf dem Telefon: IAM Identity Center, Entra ID, ein Dienstkontoschlüssel oder OIDC im Browser. Die Talos-Bildschirme sind ausgeblendet; jeder Kubernetes-Bildschirm, Hintergrund-Alarme und Datendienste sind da, und was Sie dürfen, bestimmt Ihr RBAC.

Mein Operator steht nicht auf der Liste. Kann die App ihn anzeigen?

Ja. Ein Plugin beschreibt eine Custom Resource in einer einzigen YAML-Datei: was zu lesen ist, was als gesund gilt, die Karten, Aktionen und Befunde. Zwölf Operatoren sind als eingebaute Plugins enthalten, und du kannst deine eigenen aus der Zwischenablage, einer Datei, einem https-Link oder einem QR-Code importieren; Einstellungen → Plugins zeigt, was jedes liest und ändern kann, bevor du es aktivierst. Die Plugin-Referenz beschreibt das Format, und das Anfrageformular macht aus einem öffentlichen CRD-Link einen Pull-Request-Entwurf.

Ist Ichor eine offizielle App von Sidero Labs?

Nein. Ichor ist ein unabhängiger, von der Community entwickelter Client für Talos Linux. Er nutzt die Open-Source-Go-Client-Bibliothek von Sidero, wird aber nicht von Sidero Labs entwickelt, empfohlen oder unterstützt.

Muss ich etwas auf dem Cluster installieren?

Nein. Ichor spricht mit der Talos-API, die jeder Node ohnehin bereitstellt, mit einer talosconfig, genau wie talosctl. Es gibt keinen Agenten, keinen Operator und keinen Relay-Server. Die Kubernetes-Screens nutzen die Admin-kubeconfig, die Talos für ein Admin-Zertifikat ausstellt, und halten sie nur im Arbeitsspeicher. Die einzige Ausnahme ist der Netzwerktest: Er startet kurzlebige netperf-Pods in einem eigenen Namespace und löscht ihn, wenn er fertig ist.

Wohin gehen meine Daten?

Nur zu deinen Nodes. Die App fragt bei GitHub nach neuen Releases, und sonst verlässt nichts das Smartphone, es sei denn, du schaltest es ein. Die KI-Diagnose ist standardmäßig aus, zeigt dir zuerst den genauen Bericht und sendet ihn erst, wenn du auf „Fragen“ tippst, auf Wunsch mit verborgenen Namen und Adressen. Auch das Herunterladen von Logos für Apps jenseits der mitgelieferten ist standardmäßig aus und sendet nur den öffentlichen Namen des Symbols, nie deine Image-Namen.

Kann es meinen Cluster kaputt machen?

Nicht mit einem nur lesenden Zertifikat: Die Talos-API lehnt jede Änderung ab. Mit einem Operator- oder Admin-Zertifikat musst du bei riskanten Aktionen den Hostnamen des Nodes eintippen, und Upgrades werden abgelehnt, wenn etcd das Quorum verlieren würde.

Wie ziehe ich auf ein neues Smartphone um?

Sichere deine Cluster und Einstellungen unter „Einstellungen“, geschützt mit einer Passphrase. Tippe auf dem neuen Smartphone auf dem ersten Bildschirm auf „Sicherung wiederherstellen“ oder öffne unter Android die Sicherungsdatei in deinem Dateimanager. Sicherungen lassen sich zwischen Android und iPhone übertragen.

Kommt es mit mehreren Clustern zurecht?

Ja. Importiere so viele talosconfigs oder Kontexte, wie du willst, wechsle in der Kopfzeile zwischen ihnen und gib jedem Cluster eine eigene Farbe, damit du immer weißt, wo du bist.

Dein Cluster hat einen Puls. Trag ihn bei dir.

Installiere Ichor in einer Minute, öffne die Demo und richte es dann mit einem nur lesenden Zertifikat auf deinen eigenen Cluster. Kostenlos, Open Source, kein Konto.

Unterstütze das Projekt

Ichor ist kostenlos, ohne Werbung und ohne Tracking. Die Abweichungserkennung, die Vorfallsaufzeichnung und jede Funktion auf dieser Seite werden offen entwickelt. Wenn dir Ichor den Weg zum Laptop erspart, hilf mit, das Nächste zu finanzieren, über GitHub Sponsors oder in Krypto.