Talos OS¶
在这篇文章中
信息
Talos OS 是一款专为运行 Kubernetes 而开发的现代操作系统。它采用不可变文件系统和容器架构,提供高安全性、极小的攻击面以及经过优化的 Kubernetes 集群性能。
Talos OS 主要特性¶
- 最大限度降低攻击机会: 缺乏 shell (shell)、包管理器和其他标准 Linux 组件,从而减少了安全威胁。
- 不可变基础设施: 基于不可变概念,更新是原子化应用的,而不是修改现有系统。
- 嵌入式 Kubernetes: 集成了针对最大性能进行优化的 Kubernetes,而不是在系统之上安装。
- 以 API 为中心的管理: 通过 API 进行完整管理,无需使用 SSH 或在 shell 中执行命令。
- 高度自动化: 无需人工干预即可实现集群组件的自动化配置和恢复。
- 简化更新: 可靠的 OS 和 Kubernetes 更新,并在出错时自动回滚。
- 内置容器支持: 针对运行容器化应用进行了优化。
- 严格的安全机制: 符合最佳安全实践,包括强制执行加密和签名验证。
- 高效的资源利用: 最少消耗系统资源,从而最大限度地分配给工作负载。
- 高韧性: 旨在分布式和容错环境中运行。
部署功能¶
| ID | OS Name | Alias | Active | BM | GPU | VPS | VDS | Family | OS Group | CloudInit | Avilible |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 322 | Talos 1.12.2 | - | Yes | + | + | + | - | Talos | Others | No | ORDER |
| 329 | Talos 1.14.2 | - | Yes | + | + | + | - | Talos | Others | No | ORDER |
警告: 临时加载(未安装)
当订购带有 Talos OS 的服务器时,系统**最初是加载到 RAM 中的**,并未安装在磁盘上。如果在完成配置和安装过程之前重启服务器,系统将会丢失,需要重新订购。
当订购带有 Talos OS 的服务器时,您将获得:
- 一台处于维护模式 (
Maintenance) 且临时加载了 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 步:准备配置文件¶
生成密钥 (secrets):
生成基础配置:
将 [SERVER-IP] 替换为您服务器的实际 IP 地址。
第 3 步:创建补丁文件 (Patch File)¶
配置中的 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:- 验证集群功能:
创建多节点集群¶
要向集群添加额外节点:
-
对于新的控制平面节点 (control plane node):
-
对于工作节点 (worker node):
备注
Bootstrap 操作仅在第一个节点上执行一次。其他节点将自动加入现有集群。
集群管理界面¶
创建集群后,可以使用各种工具进行管理:
- talosctl: 管理 Talos OS 节点;
- kubectl: 管理 Kubernetes 资源;
- Web panels: 可以通过 Kubernetes 安装额外的控制面板。
系统更新与监控¶
更新 Talos OS¶
Talos OS 支持无需集群停机即可进行原子更新:
-
检查可用版本:
-
执行节点更新:
系统监控¶
Talos OS 提供多种监控方法:
-
内置工具:
-
通过 Kubernetes 安装监控解决方案:
备注
有关 Talos OS 额外配置的详细信息,请参阅 开发者文档。
相关主题的有用文章¶
使用 API 订购 Talos OS¶
要使用 API 安装此软件,请遵循这些说明。