登录如同在笔记本电脑上,保管如同一把钥匙
手机上不运行任何 aws、gcloud 或 az 二进制文件:Ichor 完成 exec 插件的工作,登录状态保留在设备上并自动续期。令牌和密钥加密保存在 StrongBox 或安全隔区中,受应用锁保护。
“这个集群用的是哪个账号?”→ 显示在它的主页上。
Ichor 为 Talos Linux 而生,至今仍使用与 talosctl 相同的客户端与其通信。如今它也能打开任意 kubeconfig:EKS、GKE、AKS、DigitalOcean、Rancher、Sidero Omni 或 OIDC 登录,无需在集群上安装任何组件,也没有任何中间层。若缺少某个 Operator,一个 YAML 文件写成的插件即可为它提供界面。
手头没有集群?在首屏点按试用演示:五个示例节点、实时图表和日志,完全离线。免费开源,Apache-2.0 许可,默认只读。
基于 Sidero 官方的 Go machinery 库构建。上下文、mTLS 以及端点到节点的代理,行为与在你的笔记本电脑上完全一致。
通过 kubeconfig 添加的集群,登录方式与其用户一致:IAM、Entra ID、Google 服务账号、浏览器中的 OIDC。你能执行哪些操作由你的 RBAC 决定,应用会在你点按之前告诉你。
手机自身就会在后台检查每个集群,无论是否运行 Talos,并在节点、etcd 或备份不健康时通知你。
Apache-2.0 许可,无需账号,无广告,无分析统计。你的配置加密保存在设备上,只与你的集群通信。
生于 Talos · 处处适用
通过文件、粘贴、QR 码或分享菜单导入 kubeconfig。预览会列出每个上下文及其登录方式,并添加你选中的那些。每个集群都有 Kubernetes 主页、全部 Kubernetes 界面、后台告警和专属颜色,重启操作绝不会指向错误的集群。
一个 talosconfig,角色已写入其证书:节点健康状况、日志、etcd、KubeSpan、升级,端到端覆盖 Talos API。
像 omnictl 一样登录实例,选择它列出的集群。Omni 为你的身份分配的角色决定了应用可执行的操作。
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 也能访问。
手机上不运行任何 aws、gcloud 或 az 二进制文件:Ichor 完成 exec 插件的工作,登录状态保留在设备上并自动续期。令牌和密钥加密保存在 StrongBox 或安全隔区中,受应用锁保护。
“这个集群用的是哪个账号?”→ 显示在它的主页上。
在云集群上,Kubernetes 主页还会显示云平台把每个节点放在了哪里:Karpenter 节点池、托管节点组、计算类或代理池,机器类型,以及是竞价实例还是按需实例。Talos 集群也可以使用这些身份之一来访问其 Kubernetes 界面,而不使用管理员 kubeconfig。
1.22 至 1.41 新功能
两周内发布二十个版本:为任意 CRD 提供界面的插件,在手机上从差异直接发起拉取请求,可模拟节点丢失的容量界面,Alertmanager 及 Kubernetes 主页的其余部分,全集群 Talos 升级,以及熄屏后仍继续运行的运行手册。
一个插件就是一个 YAML 文件:要读取的资源、何为健康、卡片、操作和发现项。内置十二个插件:kube-green、External Secrets、ExternalDNS、Sealed Secrets、Rook Ceph、MariaDB、Percona、Dragonfly、Temporal、Numaflow 和 Dataflow。可通过粘贴、文件、URL 或 QR 码导入你自己的插件,并在启用前查看它会读取和更改哪些内容。它的发现项会进入集群检查和后台告警。
“应用认识我的 Operator 吗?”→ 现在认识了,无需发布新版应用。
浏览 Argo CD 或 Flux 应用所部署的文件,版本与集群当前运行的一致。编辑某个文件,或快速修改镜像标签或副本数,在 kustomize 构建通过检查后审查差异,然后在 GitHub、GitLab、Gitea 或 Forgejo 上发起拉取请求。在集群中手动修改的值,或保留下来的 Talos 机器配置更改,都会被提议回写到对应文件。拉取请求合并时以及集群开始运行它时,应用都会通知你。
“能把那个标签升一下吗?”→ 在火车上就发起了拉取请求。
每个集群的空闲 CPU、内存和磁盘,按 QoS 类别和优先级列出每个工作负载的 OOM 和驱逐风险,还有模拟功能:移除一个或多个节点,查看 Pod 会调度到哪里、哪些被抢占、哪些保持 Pending,以及应缩减什么。CPU 和内存用量来自 metrics-server,与 kubectl top 相同。
“今晚能排空 w-3 吗?”→ 四个 Pod 说不行。
工作负载、网络、存储、观测和浏览:Service 与负载均衡、Job、存储声明及其使用率,基于 HPA、KEDA、VPA 和 Karpenter 的自动扩缩容,Kyverno 和 Gatekeeper 策略,KubeVirt 虚拟机,Velero 备份,Helm 发行版,实时事件,以及可在手机上设置静默的 Alertmanager。每个对象都有摘要、带架构提示的 YAML、扩缩、删除以及你的 RBAC 允许的操作,列表实时更新。
“凌晨 3 点是谁在告警?”→ 一点即可静默该告警。
逐个升级每个节点,在升级本身不排空时先行排空,并在试运行后升级 Kubernetes。添加节点:在维护模式下检查它,基于现有成员生成其配置,发送配置并跟踪直到它加入集群。按引导计划替换控制平面节点,从快照恢复 etcd,一点修复其 NOSPACE 告警,重置或擦除节点;若会破坏 etcd,操作将被拒绝。
“1.13 升级呢?”→ 八个节点全部完成,在沙发上就搞定了。
运行手册是由应用自身操作组成的有序列表,导入时先展示其计划,运行时每个破坏性步骤都需确认。同步、协调、重启、多节点配置应用和网络测试都在后台运行,并显示进度和停止按钮:在 Android 上集中于一个“操作”通知渠道,在 iOS 上显示于锁定屏幕和灵动岛。
“周五的运行手册跑完了吗?”→ 第 3 步在等你。
GKE 使用你的 Google 账号或组织的 OAuth 客户端,EKS 仅凭起始 URL 即可通过 IAM Identity Center 登录。粘贴或扫描 aws 配置、gcloud 凭据或 omniconfig,登录信息即自动预填。
Grype 或 Trivy 可扫描 Pod、工作负载的镜像或节点的 Talos 系统镜像。报告保存在手机上,并标记自上次扫描以来新出现的问题。
每个节点的运行时间,自你上次查看以来的变化,使用率和内存迷你趋势图,提示“约 9 天后写满”的存储预测,以及可作为 Markdown 分享的匿名化故障摘要。
可在主页搜索所有集群的节点、Pod、工作负载和应用,在 iOS 上也可通过聚焦搜索、Siri 和快捷指令搜索。Apple Watch 应用和 Wear OS 磁贴会显示每个集群的健康状况。
节点和 GitOps 应用在列表旁打开,概览以两栏显示,iPad 侧边栏在当前界面旁列出你的集群及集群的各个分区。
设置按页面分组。备份为 age 文件,使用口令或你的 age 公钥加密,现在会保留固定项、Git 主机和 AI 设置,并可在 Android 和 iPhone 之间迁移。
支持 hooks 和等待的 Helm 回滚,扩缩任何提供 /scale 的资源,带试运行计划的污点和标签,带试运行差异的粘贴 YAML,用于无 shell 镜像的调试容器,在每个节点上预拉取镜像,清理已终止的 Pod。
从节点发起 DNS、ping、端口、traceroute 和 HTTP/TLS 检查,传感器,CPU 频率和降频,每块磁盘的分区和加密,以及服务器的备件,均可在其硬件界面查看。
不只是观察,更能操作
用安全密钥解锁应用,加密记录应用所做的更改及操作者,Argo CD 将应用的差异,指标界面上的 PromQL 助手,双平台上的 CAST AI 节省分析,以及能预先知道你的账号是否有权执行的 Kubernetes 操作。
在应用中对集群所做的每项更改(重启节点、重启工作负载、同步、回滚、删除)都会连同结果一起记录在设备上的加密日志中,即使后台运行崩溃也不例外。在 Android 和 iOS 上均可通过“活动”界面查看。
“下午 2 点是谁重启了 grafana?”→ 这台手机,在这个界面上。
“显示差异”基于控制器已完成的比对,逐个对象展示同步将更改的内容,Secret 的值会被隐藏。修订版本、每条历史记录以及正在进行的同步都链接到其在 GitHub、GitLab、Gitea、Forgejo、Codeberg 或 Bitbucket 上的提交。现在回滚需要输入应用名称。
“这次同步会影响什么?”→ 点按之前就能看到那三个对象。
YubiKey 或任意 FIDO2 密钥可通过 NFC 或 USB 替代 PIN 和生物识别作为应用锁,并加密存储的配置,没有密钥就无法读取,即使复制了手机存储也不行。
“手机丢了?”→ 配置由一把不在手机里的密钥加密。
说出你想看的内容;助手会编写查询,在你的 Prometheus 上运行以确认有返回结果,然后添加面板。可选功能,默认关闭,使用你自己的 Claude 或 OpenAI 密钥,支持 Android 和 iOS。
“w-2 上每个 Pod 的内存,堆叠显示”→ 一个已验证的面板。
工作负载建议及其可节省的费用,节点整合计划,以及失败计划错失的节省,全部呈现在重新设计的工作负载视图中,现已同时支持 iOS 和 Android。
“哪些资源过度配置了?”→ 已排序,并附上可节省的费用。
现在每个对象都有一个摘要标签页,类似 kubectl describe 的开头部分:条件、所有者、过去一小时的事件。其操作一点即达,你的账号无权执行的操作会被禁用并注明原因,这在你尝试之前就已向 API 服务器查询过。
“我能在这里重启它吗?”→ 能,或者告诉你为什么不能。
后台告警、数据服务和可自定义排列的主页现在也适用于通过 kubeconfig 添加的集群,而不仅限于 Talos 集群。
点按通知即可直达相关的节点、Pod 或备份;Android 上每种类型对应一个通知渠道,可按需静音。
删除所有集群或回滚 Argo CD 应用时需要输入其名称。一键操作就放在其对象所在之处。
Android 和 iOS 共用同一套设置布局,显示更新来源,并通过了无障碍检查,密集文本依然清晰易读。
网络、存储和压力
某些东西变慢了,而每个节点都显示 Ready。Ichor 直接在手机上测量两个节点之间的链路,检查你的应用所依赖的存储和数据库,并显示节点正在让哪个工作负载资源不足。
从列表中选择两个节点(在 Android 上也可直接在集群地图上选择),Ichor 会像 cilium connectivity perf 一样使用 netperf 进行测量,适用于任意 CNI:先测 TCP 吞吐量,再测 p50、p90 和 p99 延迟,Pod 到 Pod,如有需要也可测主机到主机。结果会被保存并绘制成随时间变化的图表。
“新交换机更快了吗?”→ 已测量。
Ichor 会识别集群中的 Longhorn、CloudNativePG、Garage、Rook Ceph、MariaDB、Percona 和 Dragonfly 并进行检查:降级的卷及其副本,Postgres 实例以及过期或失败的备份,CSI 快照和备份 CronJob,Garage 节点,Dragonfly 的主节点和副本。每个问题都会指明其背后的节点。可直接在该行提升副本、故障转移、抢救卷或创建快照;启用可选告警后,卷出现故障、磁盘写满或备份停止时会通知你。
“昨晚的备份跑了吗?”→ 跑了,或者告诉你为什么没跑。
当集群中运行 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 和节点。
以图表展示最近五分钟内节点上的任务等待 CPU、内存或磁盘的时长,并列出等待最多的工作负载、OOM kill 以及接近内存限制的容器。Cgroups 标签页与 talosctl cgroups 类似,按服务、Pod 和容器逐一细分。
“谁在吃 w-2 的资源?”→ 点名了。
这些功能需要 os:admin 证书。网络测试在专用命名空间中以 restricted Pod 安全配置运行其 Pod,结束后删除该命名空间;每次测量会占满链路 5 到 20 秒。保存的结果加密存放在手机上,不包含在备份中;数据服务告警默认关闭,需手动开启。
在 Android 上,KubeSpan 界面会绘制你的站点、节点和隧道,标出正常、降级或宕机状态,并为每个区域显示旗帜。点按两个节点即可测试它们之间的链路。
应用详情页会列出其网址(取自指向它的 Ingress 和 Gateway API HTTPRoute),一点即可打开。
从这里连不上任何端点?在 Android 上,Ichor 会在本地网络中搜索接受你凭据的节点,并允许你手动编辑端点。
调试 shell 中提供约 40 条 netshoot 命令,涵盖 DNS、MTU、TLS、KubeSpan 等,一点即可运行,几乎不需要使用手机键盘。
应用和 Kubernetes
Talos 告诉你节点一切正常。但 Grafana 是最新版吗?为什么有一个 Cilium agent 还停留在旧版本?哪个 Pod 在反复崩溃?Ichor 现在会显示集群中运行的软件,并且在拥有管理员证书时,无需笔记本电脑即可重启工作负载或删除卡住的 Pod。
每个节点上的每个容器都会按你熟悉的应用分组,并配上图标:Home Assistant、Immich、*arr 系列、Longhorn、Cilium 以及约 400 款其他应用。Sidecar 和 init 容器归入其所属应用,Ichor 还会标记同时运行两个版本的应用或未固定版本的 :latest 镜像。
“全都升到新版本了吗?”→ 一眼便知。
Deployment、StatefulSet 和 DaemonSet 及其就绪和发布状态,需要关注的排在最前。可像 kubectl rollout restart 一样通过滚动更新重启其中一个,确认时若它只运行单个 Pod 会给出警告。随后实时显示发布过程中的新旧 Pod,直到所有新 Pod 就绪;随时可以关闭,发布会继续进行。
“它只是需要踢一脚。”→ 躺在床上就踢了。
每个 Pod 都显示与 kubectl get pods 相同的状态(CrashLoopBackOff、Init:Error、Terminating)、重启次数和所在节点。删除卡住的 Pod,让其控制器启动一个新副本;确认时会告诉你是否有控制器会重新创建它。
“它怎么还在重启?”→ 已删除,已重建。
每个 CronJob 及其计划、下次运行时间和最近几次运行的结果,失败和运行中的排在最前。确认后即可像 kubectl create job --from 一样立即运行:该 Job 仍归属于其 CronJob,因此历史记录和清理规则依然适用。
可通过标签或注解为每个 CronJob 设置图标、名称和一行描述;未设置图标时,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 没开或连错了网络?不再是满屏的红色节点,而是一条提示说明原因,自动重试,并在连接恢复的瞬间恢复正常。
记录的故障现在会保留当时采集的服务状态和网络链路变化,技术细节一点即可查看。
对于内置 400 款之外的应用,Ichor 可以从开放的 Dashboard Icons 图标集下载图标。此功能默认关闭,且仅发送图标的公开名称。
某个节点还在用旧版 Cilium,某个被遗忘的 :latest 标签:需要关注的应用数量直接显示在概览上。
集群洞察
凌晨 3 点,一个节点状态反复横跳,而你的笔记本电脑在另一个房间。集群洞察让 Ichor 从状态页变成排障工具箱:找出发生漂移的节点,在故障发生时记录全过程,并查看到底是哪种资源成了瓶颈。全部只需只读的 os:reader 证书。
那个 MTU 与众不同的工作节点,那台被遗忘的 NTP 服务器,那个升级时被落下的扩展。Ichor 会在每个角色内部,或对照你保存的基线,比较 DNS、NTP、MTU、扩展版本、Secure Boot、UKI 和 Talos 版本,并指出异常的那一个。
“为什么只有 w-3 慢?”→ 找到了。
在问题发生时点击记录,Ichor 会构建最长十分钟的时间线:实时 Talos 事件,以及每五秒采样一次的节点就绪状态、服务、链路和网络计数器。时间线会被保存,可直接用于事后复盘。
“最先出问题的是什么?”→ 时间线上都有。
负载很高,但究竟是 CPU、磁盘、网络,还是虚拟化宿主机上的吵闹邻居?“实时”标签页现在显示 I/O 等待和虚拟机 steal 时间、每块磁盘的吞吐量和 I/O 时间,以及每个网络接口的吞吐量、错误和丢包,重启后也不会出现虚假尖峰。
“是磁盘的问题吗?”→ 现在你知道了。
基线和记录在手机上加密保存,按集群分开存放,且从不备份。不会收集机器配置、kubeconfig 或原始日志,你可以在洞察界面删除所有内容。
你的 talosconfig 只列出了一个端点?Ichor 会向集群查询其成员,并提供一键添加缺失节点的选项。
从操作菜单唤醒已关机的节点。Ichor 会在每个节点运行时记住其网卡信息,因此即使你从未配置过,也能唤醒它。
内置演示可离线运行,包含五个示例节点、实时指标、日志、etcd 等。在导入任何配置之前就能体验全部功能。
导入同名上下文绝不会覆盖已有集群。长按应用图标即可直接进入任意集群。
来自运行中集群的真实界面,在截图模式下拍摄:地址和节点名称已替换为占位内容。
一切都通过官方 Talos Go 客户端运行,因此 talosconfig 上下文、mTLS 以及端点到节点的代理,行为与 talosctl 完全一致。
| 替代 | 打开 | 角色 |
|---|---|---|
| talosctl get machinestatus | 集群概览每个节点的状态:就绪、未就绪或无法访问,并显示未满足的条件、时钟偏差和可用的 Talos 升级。 | reader |
| talosctl services, talosctl logs -f | 服务和日志服务健康状况,以及按级别着色的服务或内核日志,折叠重复内容,并支持实时跟随模式。 | reader |
| talosctl events | 事件时间线实时显示整个集群的服务变化、启动阶段和地址变化。 | reader |
| talosctl dashboard, talosctl processes | 实时图表和进程每两秒刷新 CPU、内存、网络、磁盘和负载,进程列表可按 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 | 故障记录器将事件与采样的节点、服务和网络状态合并为一条已保存的时间线。 | reader |
| talosctl read /proc/stat, /proc/diskstats | 瓶颈指标实时显示 I/O 等待、steal 时间、每块磁盘的 I/O 以及每个网络接口的错误和丢包。 | reader |
| talosctl containers -k | Pod按 Pod 分组的容器,显示 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成员、leader、大小和告警,碎片整理,以及保存到手机的快照。 | reader / backup |
| talosctl get kubespanpeerstatuses | KubeSpan每个节点的对等节点:状态、端点、最近一次握手和流量;在 Android 上还有站点、节点和隧道的地图。 | reader |
| talosctl service restart | 服务控制启动、停止或重启服务,对关键服务会给出警告。 | operator |
| talosctl reboot -m powercycle | 重启、关机和唤醒正常、断电重启或强制方式,需输入主机名确认。可通过 Wake-on-LAN 唤醒已关机的节点。 | operator |
| talosctl pcap | 抓包带解码详情的实时数据包列表,可保存为 .pcap 在 Wireshark 中打开。 | operator |
| talosctl upgrade | Talos 升级一次升级一个节点,若会导致 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 | 网络测试两个节点之间的 TCP 吞吐量和 p50 至 p99 延迟,Pod 到 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 | 调试 shell在节点上运行 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 | 集群升级逐个升级每个节点,必要时先排空,并在试运行后升级 Kubernetes;若某个扩展没有适用于目标版本的构建,会给出警告。 | 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,每个集群的剩余空间,以及失去一个节点的代价。 | 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 虚拟机,支持启动、停止、重启、迁移、暂停,并可在应用的终端中打开串口控制台。 | RBAC |
| helm rollback, velero restore, kubectl apply --dry-run | Helm、Velero 与 YAML连同钩子回滚 Helm release,带预览和命名空间映射恢复 Velero 备份,立即运行一个计划,并在 dry-run 差异检查后应用粘贴的 YAML。 | 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 与拉取请求浏览和搜索应用部署的文件,编辑一个或多个文件,审阅差异及其 kustomize 构建结果,然后在 GitHub、GitLab、Gitea 或 Forgejo 上发起拉取请求。 | Git token |
| a shell script of kubectl and talosctl calls | 运行手册由应用自身操作组成的有序列表,导入时先展示执行计划,运行时每个破坏性步骤都需确认。 | per step |
| kubectl get <your CRD> | 插件十二个内置 operator,以及用一个 YAML 文件描述的自定义 CRD,带有卡片、操作和检查结果,并汇入集群检查与告警。 | RBAC |
为手机生成一个专用的 talosconfig。应用会读取其中的角色,只显示该证书允许的操作。即使手机丢失,证书也不会授予更多权限,并且会自行过期。
os:reader
监控、日志、事件、Pod、应用清单、网络、etcd、KubeSpan 和集群拓扑图、图表、告警以及所有集群洞察。手机的理想默认选择。
os:operator
包含只读的全部功能,另加重启、关机、服务重启和抓包。
os:admin
另加健康检查、机器配置、Talos 和 Kubernetes 升级、添加、替换和重置节点、etcd 修复、签发 talosconfig、导出 kubeconfig、调试 shell、网络测试、节点压力测试,以及通过 Talos 签发的管理员 kubeconfig 访问所有 Kubernetes 页面。在 kubeconfig 集群上,可执行的操作由你的 RBAC 决定,点按之前即会检查。
talosconfig 使用存放在手机安全芯片中的密钥加密:Android 上为 StrongBox 或 TEE,iPhone 上为 Secure Enclave。可选的指纹、Face ID 或 PIN 锁保护应用和每一次重启操作。
Ichor 正式发布前在 Google Play 上进行封闭测试。只有测试者名单中的账号才能安装,因此需要两步。
任何拥有公开 CRD 的 operator 都可以成为 Ichor 插件。提供其 CRD 清单的链接:系统会据此创建一个草稿拉取请求,再由维护者审阅并翻译。请先查看已有的申请:给已有申请点赞与提交新申请同样有效。
在你的工作站上,在一个控制平面节点上签发只读证书,然后列出你的节点。
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> …
在 Android 上,加入 Play 商店 Beta 测试,然后从 Google Play 安装 Ichor。
选择文件、粘贴内容,或扫描 QR 码:
qrencode -t ansiutf8 -r talosconfig-phone
一个 QR 码放不下?先压缩,应用会自动解压:
gzip -9 < talosconfig-phone | qrencode -8 -t ansiutf8
一条血脉维系着青铜巨人的生命。守护好你的那一条。
在希腊神话中,Talos 是守护克里特岛的青铜巨人,每天绕岛巡行三次。一条血脉从他的颈部延伸至脚踝,流淌着 ichor——众神的金色血液。只要 ichor 仍在流动,Talos 就屹立不倒。
你的集群也有脉搏:节点就绪、服务健康、etcd 保有法定人数。Ichor 就是让你随时随地查看它的应用,也会在它出现异常时及时提醒你。
可以。在导入页面点按“试用演示”:这是一个包含五个示例节点的离线集群,带有实时指标、服务、日志、事件、etcd 和网络。它被明确标记为演示数据,可以与你的真实集群并存,并可在“管理集群”中移除。
可以。通过 kubeconfig 添加集群,或列出 AWS、Google Cloud、Azure、DigitalOcean 或 Rancher 账号下的集群并添加所选集群。kubeconfig 的 exec 插件原本执行的登录改为在手机上完成:IAM Identity Center、Entra ID、服务账号密钥,或在浏览器中进行 OIDC 登录。Talos 相关页面会隐藏;所有 Kubernetes 页面、后台告警和数据服务均可使用,可执行的操作由你的 RBAC 决定。
可以。插件用一个 YAML 文件描述一种自定义资源:读取什么、怎样算健康、卡片、操作和检查结果。十二个 operator 以内置插件形式提供,你也可以通过粘贴、文件、https 链接或 QR 码导入自己的插件;在启用之前,“设置 → 插件”会显示每个插件读取和可更改的内容。插件参考介绍了格式,申请表单可将公开的 CRD 链接转换为草稿拉取请求。
不是。Ichor 是一个由社区开发的独立 Talos Linux 客户端。它使用 Sidero 的开源 Go 客户端库,但并非由 Sidero Labs 开发、认可或提供支持。
不需要。Ichor 使用 talosconfig 与每个节点已经暴露的 Talos API 通信,与 talosctl 完全相同。没有代理、operator 或中继服务器。Kubernetes 页面使用 Talos 为管理员证书签发的管理员 kubeconfig,且仅保存在内存中。唯一的例外是网络测试:它会在专用命名空间中启动短暂运行的 netperf Pod,完成后删除该命名空间。
只发送到你的节点。应用会检查 GitHub 上的新版本,除非你主动开启,否则不会有其他数据离开手机。AI 诊断默认关闭,会先向你展示完整报告,只有在你点按“提问”时才发送,并可按需隐藏名称和地址。为内置图标以外的应用下载图标默认也处于关闭状态,且只发送图标的公开名称,绝不发送你的镜像名称。
使用只读证书时不会:Talos API 会拒绝一切更改。使用操作员或管理员证书时,高风险操作需要你输入节点的主机名,并且在 etcd 可能失去法定人数时会拒绝升级。
在“设置”中备份你的集群和设置,并用密码短语加密。在新手机上,于首个页面点按“恢复备份”,或在 Android 上从文件管理器打开备份文件。备份可在 Android 和 iPhone 之间互通。
支持。你可以导入任意数量的 talosconfig 或上下文,在顶部栏中切换,并为每个集群设置专属颜色,随时清楚自己身处哪个集群。
一分钟装好 Ichor,打开演示,然后用只读证书连接你自己的集群。免费、开源、无需账号。
Ichor 免费,没有广告,也不做跟踪。漂移检测、故障记录器以及本页介绍的所有功能都是公开开发的。如果 Ichor 让你免于跑去打开笔记本电脑,欢迎通过 GitHub Sponsors 或加密货币资助后续开发。