Talos OS¶
在这篇文章中
信息
Talos OS 是一个专为运行 Kubernetes 而开发的现代操作系统。它使用不可变文件系统和容器架构,提供高安全性、最小攻击面以及优化的 Kubernetes 集群性能。
Talos OS 主要功能¶
- 最小化攻击风险:缺少 shell(命令行)、包管理器和其他标准 Linux 组件,从而减少安全威胁。
- 不可变基础设施:基于不可变概念,更新以原子方式应用,而不是修改现有系统。
- 嵌入式 Kubernetes:集成的 Kubernetes 针对最大性能进行了优化,而非安装在系统之上。
- 以 API 为中心的管理:通过 API 进行完整管理,无需 SSH 或在 shell 中执行命令。
- 高度自动化:集群组件的配置和恢复自动化,无需人工干预。
- 简化的更新:可靠的操作系统和 Kubernetes 更新,出错时自动回滚。
- 内置容器支持:针对运行容器化应用程序进行了优化。
- 严格的安全性:符合最佳安全实践,包括强制加密和签名验证。
- 高效的资源使用:系统资源消耗最小化,以最大化分配给工作负载。
- 高弹性:设计用于在分布式和容错环境中运行。
部署功能¶
| ID | 操作系统名称 | 别名 | 活跃 | 裸金属 | GPU | VPS | VDS | 系列 | 操作系统组 | CloudInit | 可用 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 268 | Talos 1.9.5 | - | Yes | + | + | + | - | Talos | Others | No | ORDER |
重要:临时加载而非安装
订购带有 Talos OS 的服务器时,系统会**最初加载到 RAM 中**,而不会安装到磁盘上。如果在完成配置和安装过程之前重启服务器,系统将丢失并需要重新订购。
订购带有 Talos OS 的服务器时,您将收到:
- 一台以维护模式临时加载 Talos OS 的服务器;
- 通过控制面板访问服务器控制台;
- 使用 Talos 工具在磁盘上配置和安装系统的能力。
在提供的服务器上安装 Talos OS¶
收到带有 Talos OS 的服务器后,您需要前往服务器和 API 管理面板 — Invapi,进入服务器卡片并打开Native Console。您将通过控制面板控制台看到处于维护模式 (Maintenance) 的系统,并带有 Ready: True 备注。这是一种临时状态,需要进一步配置才能永久安装:

步骤 1:加载 Talos CLI 工具¶
首先,在本地机器上安装实用程序 talosctl:
对于 Linux/MacOS:
对于 Windows:
- 创建 talosctl 文件夹(如果尚不存在)
- 下载适用于 Windows 的最新版本 talosctl
- 将 talosctl 的路径添加到 PATH 环境变量
信息
您也可以不使用命令行安装 talosctl:
- 直接从 GitHub 下载适用于 Windows 的最新版本 talosctl;
- 将下载的文件重命名为
talosctl.exe; - 将文件复制到文件夹
C:\Windows\System32\(需要管理员权限)。
安装后,打开一个新的终端窗口并检查功能:
步骤 2:准备配置文件¶
生成密钥:
生成基本配置:
将 [SERVER-IP] 替换为您服务器的实际 IP 地址。
步骤 3:创建补丁文件¶
配置中的 disk 和 interface 参数应与您的服务器硬件匹配。要确定这些值,请运行以下命令:
-
确定可用磁盘
2. 确定网络接口
在命令输出中找到:
- 主磁盘的名称(通常为
/dev/sda、/dev/vda或/dev/nvme0n1); - 网络接口的名称(通常为
eth0、ens3、enp0s3等)。
创建一个名为 patch.controlplane.yaml 的文件,内容如下:
cluster:
apiServer:
certSANs:
- [SERVER-IP]
- 127.0.0.1
- localhost
- kubernetes
- kubernetes.default
- kubernetes.default.svc
- kubernetes.default.svc.cluster.local
machine:
install:
disk: /dev/sda
image: factory.talos.dev/installer/376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba:v1.9.5
wipe: true
extraKernelArgs:
- talos.platform=metal
features:
hostDNS:
enabled: false
forwardKubeDNSToHost: false
kubelet:
clusterDNS:
- [SERVER-IP]
network:
hostname: node-talos
interfaces:
- interface: eth0
dhcp: true
nameservers:
- 8.8.8.8
- 8.8.4.4
time:
disabled: false
servers:
- ntp.ix.com
bootTimeout: 2m0s
在文件中的多处将 [SERVER-IP] 替换为您服务器的 IP 地址。
备注
要使用静态 IP,请使用以下补丁
cluster:
apiServer:
certSANs:
- 127.0.0.1
- localhost
- kubernetes
- kubernetes.default
- kubernetes.default.svc
- kubernetes.default.svc.cluster.local
- [SERVER-IP-ADDRESS]
machine:
install:
disk: /dev/sda
image: factory.talos.dev/installer/376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba:v1.9.5
wipe: true
extraKernelArgs:
- talos.platform=metal
features:
hostDNS:
enabled: false
forwardKubeDNSToHost: false
kubelet:
clusterDNS:
- [SERVER-IP-ADDRESS]
network:
hostname: node-talos
interfaces:
- interface: [INTERFACE NAME]
addresses:
- [YOUR SERVER'S API]/[SUBNET MASK]
mtu: 8765
routes:
- network: 0.0.0.0/0
gateway: [YOUR SERVER's GATEWAY]
nameservers:
- 8.8.8.8
- 8.8.4.4
time:
disabled: false
servers:
- pool.ntp.org
bootTimeout: 2m0s
步骤 4:配置 Talos 客户端¶
talosctl --talosconfig talosconfig config endpoint [SERVER-IP]
talosctl --talosconfig talosconfig config node [SERVER-IP]
步骤 5:将补丁应用到配置¶
对于 Linux/macOS:
talosctl machineconfig patch controlplane.yaml --patch @patch.controlplane.yaml -o controlplane_patched.yaml
对于 Windows (PowerShell):
talosctl machineconfig patch controlplane.yaml --patch "`@patch.controlplane.yaml" -o controlplane_patched.yaml
步骤 6:将配置应用到服务器¶
talosctl --talosconfig ./talosconfig apply-config --insecure -n [SERVER-IP] -e [SERVER-IP] --file ./controlplane_patched.yaml
运行此命令后,服务器上的安装过程将开始。您可以通过控制面板控制台监控此过程。
步骤 7:等待安装完成¶
等待服务器控制台状态发生变化:
Stage: Booting>Stage: Running;Ready: True应保持激活状态:

控制台应显示以下消息:
[talos] etcd is waiting to join the cluster. If this node is the first node in the cluster, please run 'talosctl bootstrap'
步骤 8:初始化集群¶
服务器显示等待加入集群的消息后,运行:
步骤 9:获取 Kubernetes 配置¶
等待控制台出现 [talos] machine is running and ready 消息,然后执行:
此命令将创建一个文件 kubeconf,可用于管理 Kubernetes 集群。
重要说明
- 将文件
secrets.yaml和talosconfig保存在安全位置 - 它们对于将来访问集群是必需的; - 成功安装后,系统将保存在磁盘上,重启时不会丢失;
- 主机名必须在您的配置文件和命令之间完全匹配。
配置和管理¶
成功在磁盘上安装 Talos OS 后,您可以使用 talosctl 管理服务器:
- 获取节点状态:
- 查看系统资源:
- 列出运行的服务:
- 重启节点:
创建 Kubernetes 集群¶
在执行 bootstrap 命令后,您的 Kubernetes 集群应该已经初始化。要开始使用它:
- 在本地机器上安装 kubectl:
对于 Linux:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
对于 Windows:
- 配置对集群的访问:
对于 Linux/macOS:
对于 Windows PowerShell:- 验证集群功能:
创建多节点集群¶
要向集群添加其他节点:
-
对于新的控制平面节点:
-
对于工作节点:
备注
Bootstrap 仅在第一个节点上执行一次。其他节点将自动加入现有集群。
集群管理界面¶
创建集群后,可以使用各种工具进行管理:
- talosctl:管理 Talos OS 节点;
- kubectl:管理 Kubernetes 资源;
- Web 面板:可以通过 Kubernetes 安装额外的控制面板。
系统更新和监控¶
更新 Talos OS¶
Talos OS 支持无需集群停机时间的原子更新:
-
检查可用版本:
-
执行节点更新:
系统监控¶
Talos OS 提供多种监控方法:
-
内置工具:
-
通过 Kubernetes 安装监控解决方案:
备注
有关 Talos OS 额外配置的详细信息,请参阅开发人员文档。
主题相关文章¶
使用 API 订购 Talos OS¶
要使用 API 安装此软件,请遵循这些说明。