Linux

Полный гайд: установка Kubernetes с помощью kubeadm на Ubuntu, Debian и CentOS за 15 минут

В этом руководстве вы узнаете, как быстро установить контрольную точку Kubernetes с помощью kubeadm на Linux. Подробные команды и советы помогут вам создать рабочий кластер за 15 минут.

Обновлено 25 июля 2026 г.
10-15 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 20.04 LTSUbuntu 22.04 LTSDebian 11CentOS 8

Введение

Kubernetes — мощный инструмент для оркестровки контейнеров, но его установка может показаться сложной. С помощью kubeadm вы можете быстро создать рабочий кластер Kubernetes на любом современном дистрибутиве Linux. В этом руководстве вы узнаете, как за 15 минут установить контрольную точку Kubernetes на Ubuntu, Debian или CentOS, присоединить воркер-узлы и проверить, что кластер готов к работе.

Требования

  • ОС: Ubuntu 20.04 LTS / 22.04 LTS, Debian 11 или CentOS 8 (или совместимые дистрибутивы).
  • Права суперпользователя (root), для выполнения команд установки.
  • Минимум 2 CPU и 2 GB оперативной памяти.
  • Предустановленный контейнерный runtime (рекомендуется containerd).
  • Доступ в интернет для загрузки пакетов Kubernetes.

Пошаговая инструкция

Шаг 1: Подготовка системы

  • Отключите временный swap: sudo swapoff -a
  • Постоянно отключите swap, отредактировав /etc/fstab (удалите строку, содержащую swap)
  • Установите containerd:
    sudo apt install -y containerd
    
  • Настройте containerd для работы с kubelet:
    sudo mkdir -p /etc/containerd
    containerd config default | sudo tee /etc/containerd/config.toml
    

    Отредактируйте файл и установите SystemdCgroup = true
  • Подключите необходимые модули ядра:
    sudo modprobe br_netfilter
    echo 'net.bridge.bridge-nf-call-iptables = 1' | sudo tee /etc/sysctl.d/k8s.conf
    sudo sysctl reload
    

Шаг 2: Установка kubeadm и вспомогательных инструментов

  • Добавьте репозиторий Kubernetes и GPG-ключ:
    sudo apt-get update && sudo apt-get install -y apt-transport-https curl
    curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /usr/share/keyrings/kubernetes-archive-keyring.gpg
    echo 'deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
    
  • Установите пакеты:
    sudo apt-get update && sudo apt-get install -y kubeadm kubelet kubectl
    sudo apt-mark hold kubeadm kubelet kubectl
    

:

Шаг 3: Инициализация контрольной точки Kubernetes

  • Выполните инициализацию master-узла:
    sudo kubeadm init --pod-network-cidr=10.244.0.0/16
    
  • Сохраните команду для присоединения воркера (она появится в выводе) и настройте kubectl для текущего пользователя:
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    

Шаг 4: Подготовка и присоединение воркеров

На каждом воркер-узле:

  • Установите те же пакеты, что и на мастере:
    sudo apt-get update && sudo apt-get install -y containerd kubelet kubectl
    sudo apt-mark hold kubelet kubectl
    
  • Присоединитесь к кластеру с помощью команды, полученной на мастере:
    sudo kubeadm join <IP-адрес-мастера>:6443 --token <токен> --discovery-token-ca-cert-hash sha256:<хеш>
    

Шаг 5: Проверка кластера

  • Проверьте состояние узлов:
    kubectl get nodes
    

    Все узлы должны находиться в состоянии Ready
  • Для просмотра подов:
    kubectl get pods -A
    

Проверка результата

Кластер считается работоспособным, если:

  1. kubectl get nodes выводит оба узла (мастер и воркер) со статусом Ready.
  2. kubectl cluster-info показывает URL-адрес API-сервера.
  3. Поды в namespace kube-system находятся в состоянии Running (например, coredns, kube-proxy).

Если что-то не так, проверьте логи kubelet (journalctl -u kubelet) и сообщения мастера (/var/log/kubernetes/kubeadm.log).

Возможные проблемы

  • Swap не отключен → выполните sudo swapoff -a и отредактируйте /etc/fstab.
  • Ошибки сетевого плагина → проверьте CIDR в kubeadm init, он должен совпадать с сетевым планом (например, Calico).
  • Неправильные версии containerd/kubelet → установите совместимые версии, используйте apt-mark hold.
  • Токен устарел → запросите новый с помощью kubeadm token create.
  • Iptables блокирует трафик → убедитесь, что net.bridge.bridge-nf-call-iptables=1 установлено, и перезапустите iptables.

Следуйте этим советам, и вы быстро устраните наиболее распространенные ошибки. Удачной работы с Kubernetes!

Часто задаваемые вопросы

Что такое kubeadm и для чего он нужен?
Как подготовить систему перед установкой kubeadm?
Как присоединить воркер-узлы к кластеру?
Как проверить, что кластер работает?

Полезное

Подготовка системы
Установка kubeadm и вспомогательных инструментов
Инициализация контрольной точки Kubernetes
Подготовка и присоединение воркер-узлов
Проверка работоспособности кластера