没有 shell 或交互控制台,习惯 SSH 登录调试的工程师需要改用 API 管理;README 未给出安装步骤,需先查阅官方文档再动手
talos
siderolabsMPL-2.0活跃维护专为 Kubernetes 打造的极简 Linux 发行版,通过 API 驱动管理,没有 SSH 和包管理器,让集群节点部署和升级更安全省心。
Talos Linux is a modern Linux distribution built for Kubernetes.
README 未给出安装命令,部署与使用请参见官方文档 https://docs.siderolabs.com/talosREADME 未说明
专为运行 Kubernetes 打造的安全、不可变、精简的 Linux 发行版
专为 Kubernetes 打造的极简 Linux 发行版,通过 API 驱动管理,没有 SSH 和包管理器,让集群节点部署和升级更安全省心。
核心能力
- 无 shell 和交互控制台,全部系统管理通过 API 完成
- 所有 API 访问使用双向 TLS(mTLS)认证加固
- 不可变基础设施设计,消除配置漂移并支持原子更新
- 持续提供当前稳定的 Kubernetes 与 Linux 版本
容易踩的坑
- v1.15.0-alpha.2pre-release2026-10-27 · 2026-10-27 15:45 UTC
查看更新说明
Talos 1.15.0-alpha.2 (2026-10-27)
Welcome to the v1.15.0-alpha.2 release of Talos!
This is a pre-release of TalosPlease try out the release binaries and report any issues at https://github.com/siderolabs/talos/issues.
Boot Partition Wait
Talos now waits for the partition it was booted from to be discovered before declaring the system volumes (
META,STATE) missing and entering maintenance mode, so that disks enumerated late (SD cards, USB, some RAID controllers) are not mistaken for a fresh machine.On UEFI systems booted via
systemd-bootthe boot partition comes from theLoaderDevicePartUUIDEFI variable, while the GRUB configuration now passes thetalos.boot.partuuid=<UUID>kernel argument (probed by GRUB at boot). The detected boot partition is published as thebootpartitionresource.Container Swap Limit
ContainerConfigdocuments can now cap the swap a container may use, independently of its memory limit:apiVersion: v1alpha1 kind: ContainerConfig name: collector image: ghcr.io/example/collector:v1.0.0 resources: limits: swap: "0"The value maps onto cgroup v2
memory.swap.max. Zero keeps the container out of swap entirely, so its memory ceiling is enforced by the OOM killer rather than by swapping; unset leaves the node's swap available to it.containerd Configuration Version 4
Talos now generates
containerdconfiguration withversion = 4(previouslyversion = 3).containerdonly migrates configuration from older versions, so any custom CRI configuration provided viaCRICustomizationConfigdocuments (or shipped by system extensions) is now interpreted as version 4, and settings which moved in version 4 are silently ignored (only aIgnoring unknown key in TOMLwarning is logged bycontainerd).In version 4, the top-level server sections moved into plugin configuration blocks, so the following patches need to be adjusted:
version 3 version 4 [metrics]address[plugins."io.containerd.server.v1.metrics"]address[metrics]grpc_histogram[plugins."io.containerd.metrics.v1.grpc-prometheus"]grpc_histogram[grpc]address,uid,gid,max_recv_message_size,max_send_message_size[plugins."io.containerd.server.v1.grpc"](same keys)[grpc]tcp_address,tcp_tls_ca,tcp_tls_cert,tcp_tls_key,tcp_tls_common_name[plugins."io.containerd.server.v1.grpc-tcp"]address,tls_ca,tls_cert,tls_key,tls_common_name[ttrpc]address,uid,gid[plugins."io.containerd.server.v1.ttrpc"](same keys)[debug]address,uid,gid[plugins."io.containerd.server.v1.debug"](same keys)For example, the
containerdmetrics customization documented for previous versions of Talos:apiVersion: v1alpha1 kind: CRICustomizationConfig name: enable-metrics content: | [metrics] address = "0.0.0.0:11234"should now be written as:
apiVersion: v1alpha1 kind: CRICustomizationConfig name: enable-metrics content: | [plugins."io.containerd.server.v1.metrics"] address = "0.0.0.0:11234"Note that
[debug]level,formatandlog_trace_idstay at the top level, and that thettrpcaddress is no longer derived from thegrpcaddress: if thegrpcaddress is customized, thettrpcplugin address has to be set explicitly.Unified --namespace Flag
talosctl containers,logs,statsandrestartnow select the containerd namespace through the same--namespaceflag and vocabulary already used bytalosctl imageandtalosctl debug:system(the default),crifor Kubernetes workloads, andtaloscontainersfor containers declared via aContainerConfigdocument.The
--kubernetes/-kflag is deprecated in favor of--namespace cri.`ta
- v1.14.5最新正式版2026-10-26 · 2026-10-26 15:31 UTC
Talos 1.14.5 (2026-10-26)
Welcome to the v1.14.5 release of Talos!
Please try out the release binaries and report any issues at https://github.com/siderolabs/talos/issues.
On-demand Kernel Module Loading
The kernel can once again ask Talos to load a module on demand (
request_module()), e.g. when a driver loads a helper module while probing a device, or when DRBD loads its transport module. Talos handles the kernel'smodprobeusermode helper call and loads the module (shipped with Talos or a system extension) by the requested name, applying the parameters fromKernelModuleConfigif the module is listed in the machine config. Such modules no longer need to be listed in the machine config, and the order of the listed modules is not important.Requests via subsystem aliases (e.g.
fs-*,net-pf-*,crypto-*), which userspace can trigger via mounts, sockets, etc., are refused, so on-demand loading can't be used to load arbitrary modules from workloads. The outcome of each request is logged to the kernel log (talosctl dmesg).Component Updates
Linux: 6.18.58 etcd: 3.7.3
Talos is built with Go 1.26.10.
Contributors
- Andrey Smirnov
- Mateusz Urbanek
- immanuwell
- Daniel Chaplin
- Erwan Leboucher
- Kyle Tse
- Michał Małyska
- Nicolas Brainez
- Orzelius
- sasha-sup
Changes
- siderolabs/talos@dad8d3edf release(v1.14.5): prepare release
- siderolabs/talos@2f97b6a4b test: verify on-demand kernel module loading end-to-end
- siderolabs/talos@c35fd8cef feat: load kernel modules on demand via the modprobe usermode helper
- siderolabs/talos@bf34a0ebb feat: add EDAC_10NM kernel module
- siderolabs/talos@25c16761c fix: race with platform accessing metadata volumes
- siderolabs/talos@b88cda936 feat: update etcd to 3.7.3
- siderolabs/talos@34d408094 fix: pull images over HTTP/1.1
- siderolabs/talos@2dc3686b1 fix: preserve project quotas on temporary growfs mounts
- siderolabs/talos@bffcf9b48 fix: correctly pass hostname to the proxy in gRPC dial
- siderolabs/talos@6b3ea905b fix: preserve rejected edits in talosctl edit
- siderolabs/talos@b6e5fa2e2 feat: implement RAID1 (md-raid) support in BIOS mode
- siderolabs/talos@fb2b077b5 fix: ignore netlink recoverable errors in watchers
- siderolabs/talos@2f7efe81b fix: skip kexec when the kernel finds no free memory region
- siderolabs/talos@d6488456b fix: provide proper concurrency for health checks
- siderolabs/talos@03075319b fix: preserve omitted CEL expressions when patching configs
- siderolabs/talos@aca5abc16 fix: skip EFI boot entries that cannot be decoded
- siderolabs/talos@9c69456c9 fix: read VMware guestinfo with SecureBoot enabled
- siderolabs/talos@6c6fec7d5 fix: parse EFI load options with an empty description
- siderolabs/talos@e0002327b fix: route pod CIDRs matching the KubeSpan ULA purpose byte
- siderolabs/talos@449f82d46 fix: wait for inactive MD arrays before volume discovery
- siderolabs/talos@824b0f976 test: reproduce degraded md boot array reboot
- siderolabs/talos@ce2fa4132 fix: high cpu usage by the bridge keepalive dummy qemu vm
- siderolabs/talos@51eda9a51 chore: add qemu-ip-family integration suite
- siderolabs/talos@e700de0c0 feat: update Linux 6.18.58, Go 1.26.10
- siderolabs/talos@3fb46c378 release(v1.14.4): prepare release
Changes since v1.14.4
- siderolabs/talos@dad8d3edf release(v1.14.5): prepare release
- siderolabs/talos@2f97b6a4b test: verify on-demand kernel module loading end-to-end
- siderolabs/talos@c35fd8cef feat: load kernel modules on demand via the modprobe usermode helper
- siderolabs/talos@bf34a0ebb feat: add EDAC_10NM kernel module
- siderolabs/talos@25c16761c fix: race with platform accessing metadata volumes
- siderolabs/talos@b88cda936 feat: update etcd to 3.7.
- v1.13.122026-10-21 · 2026-10-21 19:35 UTC
查看更新说明
Talos 1.13.12 (2026-10-21)
Welcome to the v1.13.12 release of Talos!
Please try out the release binaries and report any issues at https://github.com/siderolabs/talos/issues.
Component Updates
Linux: 6.18.57 containerd: 2.2.10
Talos is built with Go 1.26.9
Contributors
- Andrey Smirnov
- Noel Georgi
Changes
- siderolabs/talos@cf95cccdd release(v1.13.12): prepare release
- siderolabs/talos@6491fc096 test: adapt minimal settings to new QEMU version
- siderolabs/talos@6d99d8a0c fix: disable GSO offload on QEMU 10.2+
- siderolabs/talos@026852400 fix: correct handling of DHCP changing address
- siderolabs/talos@ed1d9ddf9 fix: image verification test
- siderolabs/talos@004736a33 fix: verify the claim for the legacy bundle image verification
- siderolabs/talos@fdd5d23a7 feat: update pkgs/tools
Changes from siderolabs/pkgs
- siderolabs/pkgs@19e92dc feat: update Linux to 6.18.57
- siderolabs/pkgs@008f852 fix: restore ACPI power button
- siderolabs/pkgs@e112479 chore: update DRBD compat
- siderolabs/pkgs@97c9a42 feat: update Linux to 6.18.56
- siderolabs/pkgs@2cb821e feat: sync toolchain, tools, containerd 2.2.10
Changes from siderolabs/tools
- siderolabs/tools@38b4a6e feat: update Go to 1.26.10
- siderolabs/tools@3d10a45 feat: update for Talos 1.13.12
Dependency Changes
- github.com/siderolabs/pkgs v1.13.0-75-g642a01b -> v1.13.0-80-g19e92dc
- github.com/siderolabs/talos/pkg/machinery v1.13.11 -> v1.13.12
- github.com/siderolabs/tools v1.13.0-14-gb912600 -> v1.13.0-16-g38b4a6e
- golang.org/x/net v0.58.0 -> v0.60.0
- golang.org/x/sync v0.22.0 -> v0.23.0
- golang.org/x/sys v0.47.0 -> v0.48.0
- golang.org/x/term v0.45.0 -> v0.46.0
- golang.org/x/text v0.41.0 -> v0.42.0
Previous release can be found at v1.13.11
Images
ghcr.io/siderolabs/flannel:0.28.8 registry.k8s.io/coredns/coredns:v1.14.7 registry.k8s.io/etcd:v3.6.14 registry.k8s.io/pause:3.10.1 registry.k8s.io/kube-apiserver:v1.36.3 registry.k8s.io/kube-controller-manager:v1.36.3 registry.k8s.io/kube-scheduler:v1.36.3 registry.k8s.io/kube-proxy:v1.36.3 ghcr.io/siderolabs/kubelet:v1.36.3 registry.k8s.io/networking/kube-network-policies:v1.1.0 ghcr.io/siderolabs/installer:v1.13.12 ghcr.io/siderolabs/installer-base:v1.13.12 ghcr.io/siderolabs/imager:v1.13.12 ghcr.io/siderolabs/talos:v1.13.12 ghcr.io/siderolabs/talosctl-all:v1.13.12 ghcr.io/siderolabs/overlays:v1.13.12 ghcr.io/siderolabs/extensions:v1.13.12 - v1.14.42026-10-16 · 2026-10-16 15:25 UTC
查看更新说明
Talos 1.14.4 (2026-10-16)
Welcome to the v1.14.4 release of Talos!
Please try out the release binaries and report any issues at https://github.com/siderolabs/talos/issues.
Component Updates
Linux: 6.18.57
Talos is built with Go 1.26.9.
Contributors
- Andrey Smirnov
Changes
- siderolabs/talos@3fb46c378 release(v1.14.4): prepare release
Changes from siderolabs/pkgs
- siderolabs/pkgs@2ec10eb chore: update DRBD compat
- siderolabs/pkgs@643b731 feat: update Linux to 6.18.57
Dependency Changes
- github.com/siderolabs/pkgs v1.14.0-42-g5fa47d1 -> v1.14.0-44-g2ec10eb
Previous release can be found at v1.14.3
Images
ghcr.io/siderolabs/flannel:0.28.9 registry.k8s.io/coredns/coredns:v1.14.7 registry.k8s.io/etcd:v3.7.2 registry.k8s.io/pause:3.10.2 registry.k8s.io/kube-apiserver:v1.37.1 registry.k8s.io/kube-controller-manager:v1.37.1 registry.k8s.io/kube-scheduler:v1.37.1 registry.k8s.io/kube-proxy:v1.37.1 ghcr.io/siderolabs/kubelet:v1.37.1 registry.k8s.io/networking/kube-network-policies:v1.1.2 ghcr.io/siderolabs/installer-base:v1.14.4 ghcr.io/siderolabs/imager:v1.14.4 ghcr.io/siderolabs/talos:v1.14.4 ghcr.io/siderolabs/talosctl-all:v1.14.4 ghcr.io/siderolabs/overlays:v1.14.4 ghcr.io/siderolabs/extensions:v1.14.4 - v1.14.32026-10-15 · 2026-10-15 21:57 UTC
查看更新说明
Talos 1.14.3 (2026-10-15)
Welcome to the v1.14.3 release of Talos!
Please try out the release binaries and report any issues at https://github.com/siderolabs/talos/issues.
Time Check API
The
TimeService/TimeCheckAPI (talosctl time --check) is no longer available to theos:readerrole, as it allows querying arbitrary time servers from the node. TheTimeService/TimeAPI (querying the configured time server) is still available toos:reader.PTP device paths are now strictly validated both in the machine configuration and in the API: the path should be directly under
/dev, the name should start withptp(e.g./dev/ptp0,/dev/ptp_kvm), and the device should be a PTP character device.Component Updates
Linux: 6.18.56 containerd: 2.3.7 etcd: 3.7.2
Talos is built with Go 1.26.9.
Contributors
- Andrey Smirnov
- Alexander Soelberg Heidarsson
- Angelos Petheriotis
- Brian Cappello
- Christoph Engelbert (noctarius)
- Mateusz Urbanek
- Noel Georgi
- Oguz Kilcan
- Steve Wills
- frauniki
Changes
- siderolabs/talos@68da63f11 release(v1.14.3): prepare release
- siderolabs/talos@cbe344931 fix: disable GSO offload on QEMU 10.2+
- siderolabs/talos@1e3f3ad5f test: adapt minimal settings to new QEMU version
- siderolabs/talos@59e1fcd63 fix: restrict raw disk helper to linux
- siderolabs/talos@08b213686 fix: make the imager installer reproducible with system extensions
- siderolabs/talos@a9b984aab fix: improve KubePrism load balancer recovery
- siderolabs/talos@d01538115 fix: clean up mountpoints on unmount
- siderolabs/talos@146c2bd92 fix: roll back stacked try configs to the config before the first try
- siderolabs/talos@f5182237e fix: correct handling of DHCP changing address
- siderolabs/talos@f97d79fc3 fix: image verification test
- siderolabs/talos@5fadce79d fix: verify the claim for the legacy bundle image verification
- siderolabs/talos@6cade9fed fix: restore source names for pseudo filesystem mounts
- siderolabs/talos@692e6796b fix: add validation for the PTP device name
- siderolabs/talos@b166b72ca fix: network on azure (and might fix some other platforms)
- siderolabs/talos@4c4e57a4b feat: update etcd to 3.7.2
- siderolabs/talos@0d3b40c44 feat: update tools and pkgs
- siderolabs/talos@51d094f47 fix: tear down stale routes before adding their replacements
Changes from siderolabs/pkgs
- siderolabs/pkgs@5fa47d1 feat: update to containerd 2.3.7
- siderolabs/pkgs@6873154 feat: update Linux to 6.18.56
- siderolabs/pkgs@ecd53d0 feat: enable pNFS block and SCSI layouts in nfsd
- siderolabs/pkgs@473b20c feat: enable bhyve guest support on amd64
- siderolabs/pkgs@f3add0c feat: enable Qualcomm Cloud AI 100 (QAIC) driver
Changes from siderolabs/tools
- siderolabs/tools@6b71647 feat: update Go to 1.26.9
Dependency Changes
- github.com/containerd/containerd/v2 v2.3.6 -> v2.3.7
- github.com/siderolabs/pkgs v1.14.0-37-g6c312e4 -> v1.14.0-42-g5fa47d1
- github.com/siderolabs/talos/pkg/machinery v1.14.2 -> v1.14.3
- github.com/siderolabs/tools v1.14.0-8-g9776960 -> v1.14.0-9-g6b71647
- go.etcd.io/etcd/api/v3 v3.7.1 -> v3.7.2
- go.etcd.io/etcd/client/pkg/v3 v3.7.1 -> v3.7.2
- go.etcd.io/etcd/client/v3 v3.7.1 -> v3.7.2
- go.etcd.io/etcd/etcdutl/v3 v3.7.1 -> v3.7.2
- golang.org/x/net v0.58.0 -> v0.60.0
- golang.org/x/sync v0.22.0 -> v0.23.0
- golang.org/x/sys v0.47.0 -> v0.48.0
- golang.org/x/term v0.45.0 -> v0.46.
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Talos is a modern OS for running Kubernetes: secure, immutable, and minimal. Talos is fully open source, production-ready, and supported by the people at Sidero Labs. All system management is done via an API - there is no shell or interactive console. Benefits include:
- Security: Talos reduces your attack surface: It's minimal, hardened, and immutable. All API access is secured with mutual TLS (mTLS) authentication.
- Predictability: Talos eliminates configuration drift, reduces unknown factors by employing immutable infrastructure ideology, and delivers atomic updates.
- Evolvability: Talos simplifies your architecture, increases your agility, and always delivers current stable Kubernetes and Linux versions.
Documentation
For instructions on deploying and managing Talos, see the Documentation.
Community
- Support: Questions, bugs, feature requests GitHub Discussions
- Slack: Join our slack channel. Request access via inviter.co.
- Twitter: @SideroLabs
If you're interested in this project and would like to help in engineering efforts or have general usage questions, we are happy to have you! We hold a monthly meeting that all audiences are welcome to attend.
We would appreciate your feedback so that we can make Talos even better! To do so, you can take our survey.
Office Hours
- When: Second Monday of every month at 16:30 UTC.
- Where: Google Meet.
Note: You can convert the meeting hours to your local time.
Contributing
Contributions are welcomed and appreciated! See Contributing for our guidelines.
License
Some software we distribute is under the General Public License family of licenses or other licenses that require we provide you with the source code. If you would like a copy of the source code for this software, please contact us via email: info at SideroLabs.com.