Ichor für Talos Linux und Kubernetes
1.21 Sicherheitsschlüssel, Audit-Log, Argo-CD-Diffs und CAST AI →

Jeder Cluster, den Sie betreiben, vom Telefon aus.

Ichor wurde für Talos Linux gebaut und spricht mit ihm weiterhin ü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 Zwischenstation.

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: listen Sie die Cluster des Kontos und fügen Sie sie hinzu, oder importieren Sie die kubeconfig, die die CLI geschrieben hat. Exec-Plugins werden durch eine Anmeldung auf dem Telefon ersetzt.

  • 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
  • Cilium · Calico
  • CAST AI

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.18 bis 1.21

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

Vier Versionen fürs Betreiben, nicht nur fürs Beobachten: 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-Bildschirm, die Einsparungen von CAST AI auf beiden Plattformen, und Kubernetes-Aktionen, die vorab wissen, ob Ihr 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 und Dragonfly im Cluster und prüft sie: beeinträchtigte Volumes und ihre Replicas, Postgres-Instanzen und veraltete oder fehlgeschlagene Backups, Garage-Nodes, den Master und die Replicas von Dragonfly. Jedes Problem nennt den betroffenen Node, und optionale Warnungen melden sich, wenn ein Volume ausfällt 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 rund 250 weitere. Sidecars und Init-Container werden ihrer App zugeordnet, und Ichor markiert eine App, die in zwei Versionen gleichzeitig läuft, oder ein nicht fixiertes :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 250 mitgelieferten kann Ichor ein Logo aus dem offenen Dashboard-Icons-Set herunterladen. Das ist standardmäßig aus und sendet nur den öffentlichen Namen des Symbols.

  • 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 und Dragonfly, mit dem Node hinter jedem Problem. 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 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

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

Dazu Zustandsprüfung, Maschinenkonfiguration, Talos-Upgrades, das Ausstellen von talosconfigs, kubeconfig-Export, Debug-Shells, Kubernetes-Rollout-Neustarts und das Löschen von Pods, Netzwerktests, Datendienste und Node-Druck.

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.

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

    Füge sie unter Android zu Obtainium hinzu, um Updates zu erhalten, oder lade die APK für dein Smartphone (arm64-v8a für fast alle) aus dem neuesten Release herunter.

  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, eine APK pro ABI. Die App sucht in den GitHub-Releases nach Updates und prüft vor der Installation Prüfsumme und Signaturschlüssel jedes Downloads.

Neuestes Release

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.

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.