Talos Linux для bare metal Kubernetes: immutable OS для enterprise кластеров
Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. Talos Linux — immutable операционная система, созданная специально для Kubernetes. В 2026 растет тренд на bare metal развертывания вместо cloud, и Talos идеально подходит для этого: zero-trust security, API-driven management, automatic updates. Рассказываю о production деплое Talos кластера на 12 серверах Dell.
Почему Talos Linux для Kubernetes в 2026
Talos Linux — специализированная immutable ОС для Kubernetes с важными преимуществами:
- Immutable Infrastructure — ОС read-only, обновления через atomic image replacement
- Zero Trust by Design — нет SSH, shell, package manager, minimal attack surface
- API-driven — управление только через gRPC API, Infrastructure as Code
- Kubernetes-native — ОС оптимизирована именно под K8s workloads
- Bare Metal Ready — отличная поддержка железа, UEFI, TPM, GPU
Установка Talos на bare metal серверы
# 1. Скачать talosctl CLI
curl -sL https://talos.dev/install | sh
# 2. Генерация конфигурации кластера
talosctl gen config my-cluster https://k8s.company.local:6443
# Создает: controlplane.yaml, worker.yaml, talosconfig
# 3. Настройка для bare metal
# controlplane.yaml
machine:
type: controlplane
network:
hostname: cp-1.k8s.local
interfaces:
- interface: eth0
dhcp: false
addresses:
- 10.0.1.10/24
routes:
- network: 0.0.0.0/0
gateway: 10.0.1.1
nameservers:
- 8.8.8.8
- 1.1.1.1
cluster:
controlPlane:
endpoint: https://10.0.1.100:6443
network:
cni:
name: none # Будем ставить Cilium отдельно
podSubnets:
- 10.244.0.0/16
serviceSubnets:
- 10.96.0.0/12
Bootstrap Talos кластера
# 1. Apply конфигурации на серверы
talosctl apply-config --insecure --nodes 10.0.1.10 --file controlplane.yaml
talosctl apply-config --insecure --nodes 10.0.1.11,10.0.1.12 --file worker.yaml
# 2. Bootstrap первого control plane
talosctl bootstrap --nodes 10.0.1.10
# 3. Получить kubeconfig
talosctl kubeconfig --nodes 10.0.1.10
# 4. Проверка кластера
kubectl get nodes
kubectl get pods -A
Production конфигурация Talos
Enterprise настройки для production bare metal кластера:
# machine.yaml для production
machine:
features:
rbac: true
stableHostname: true
time:
servers:
- ntp.company.local
sysctls:
net.core.somaxconn: 65535
net.ipv4.tcp_tw_reuse: 1
kubelet:
extraArgs:
feature-gates: "RotateKubeletServerCertificate=true"
protect-kernel-defaults: true
nodeIP:
validSubnets:
- 10.0.1.0/24
disks:
- device: /dev/sdb # Отдельный диск для etcd
partitions:
- mountpoint: /var/lib/etcd
size: 100GB
cluster:
etcd:
advertisedSubnets:
- 10.0.1.0/24
apiServer:
auditPolicy:
apiVersion: audit.k8s.io/v1
kind: Policy
rules:
- level: Metadata
Интеграция с Cilium CNI
После bootstrap устанавливаем Cilium для enterprise networking:
# Установка Cilium для Talos
helm repo add cilium https://helm.cilium.io/
helm install cilium cilium/cilium --namespace kube-system --set kubeProxyReplacement=strict --set k8sServiceHost=10.0.1.100 --set k8sServicePort=6443 --set operator.replicas=2 --set ipam.mode=kubernetes
Обновление Talos кластера
# Rolling update кластера
talosctl upgrade --nodes 10.0.1.10,10.0.1.11,10.0.1.12 --image ghcr.io/siderolabs/installer:v1.6.0
# Проверка статуса обновления
talosctl version --nodes 10.0.1.10,10.0.1.11,10.0.1.12
kubectl get nodes
Нужна помощь с внедрением?
Развернули Talos Linux кластеры для 10+ enterprise проектов. Поможем с архитектурой, настройкой bare metal, интеграцией с existing инфраструктурой.