· 13 мин чтения

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 с важными преимуществами:

Установка 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 инфраструктурой.

Написать на boss@itfresh.ru или Telegram @ITfresh_Boss