Купить Корзина
Логотип REG.RU
  • Вход
    • Помощь
  • Помощь
  • Серверы VPS
  • Облачные серверы
  • Установка программного обеспечения
  • Руководство по Kubernetes

Руководство по Kubernetes

В статье мы расскажем, что такое Kubernetes, покажем, как установить Kubernetes с нуля, и опишем начало работы с Kubernetes.

Введение в Kubernetes: что это такое и как устроено

Kubernetes (Кубернетис) — это платформа для автоматизации управления контейнерами приложений с помощью кластеров на Ubuntu, CentOS и других ОС семейства Linux. Кластеры подключены к высокоуровневому API. Благодаря этому можно системно группировать контейнеры, балансировать нагрузку и активировать задачи одновременно из сотен приложений.

Настройка Kubernetes-кластера будет интересна крупным компаниям с разработками формата Big Data или команде программистов, которым нужна крупная производственная среда. Для таких масштабных проектов хорошо подойдёт инфраструктурная платформа на основе Kubernetes. Kubernetes требователен к приложениям, с которыми работает — они должны функционировать строго по принципу микросервисов. Также кластер Кубернетес расходует много ресурсов, поэтому запускать его в небольших проектах невыгодно.

Облачные серверы нового поколения

Виртуализация KVM, почасовая оплата, резервные копии, готовые шаблоны, 10 доступных ОС на выбор!

Выбрать тариф

Основные компоненты архитектуры Kubernetes

Архитектура Kubernetes состоит из следующих компонентов:

  • Nodes (нода или узел) — виртуальная или физическая машина, на которой работают контейнеры приложений. Каждая нода содержит компоненты, которые позволяют запускать сервисы контейнеризации (например, Docker или Containerd).
  • Pods или поды — базовые модули для управления приложениями. Могут состоять из одного или нескольких контейнеров.
  • Volume или том — ресурс для единовременного использования нескольких контейнеров.
  • Kube-proxy — совокупность балансировщика нагрузки и прокси-сервера, которые позволяют маршрутизировать входящий трафик для конкретных контейнеров пода.
  • Kubelet — транслирует статус подов на узле и следит за корректностью работы конкретного контейнера, образа и других компонентов.

Kubernetes можно установить с помощью готового инструмента или самостоятельно, добавляя каждый компонент архитектуры вручную. Мы расскажем, как установить полный функционал Kubernetes на Ubuntu вторым способом.

Для настройки Kubernetes:

  • измените имена хостов,
  • установите Kubernetes,
  • включите модули ядра,
  • настройте sysctl,
  • установите Containerd,
  • разверните Kubernetes.

В инструкции мы опишем установку для мастер-ноды и для одной рабочей ноды. Мастер-ноду назовем kube-master, а рабочую ноду — kube-worker.

Подготовка к установке

  1. 1.

    На каждой ноде откройте файл hosts с помощью команды:

    sudo nano /etc/hosts
  2. 2.

    В файле удалите строку, в которой указан IP вашего сервера. Добавьте записи:

    IP_ADDRESS kube-master 
    
    IP_ADDRESS kube-worker

    Где IP_ADDRESS — IP-адрес каждого узла.

  3. 3.
    Сохраните и закройте файл. Для этого нажмите Ctrl+X, затем Y и Enter.
  4. 4.

    Зайдите в мастер-ноду и измените имя хоста:

    sudo hostnamectl set-hostname kube-master
  5. 5.

    Войдите в рабочую ноду и введите команду:

    sudo hostnamectl set-hostname kube-worker
  6. 6.
    Перезайдите на каждый из серверов.

Как установить Kubernetes

  1. 1.

    Войдите в мастер-ноду и запустите обновление с помощью команд:

    sudo apt update
    sudo apt upgrade -y
  2. 2.

    После завершения обновления введите команду:

    sudo apt install curl apt-transport-https -y
  3. 3.

    Затем добавьте GPG-ключ командой:

    curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
  4. 4.

    Добавьте репозиторий Kubernetes:

    echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
  5. 5.

    Введите команду:

    sudo apt update
  6. 6.

    Установите необходимое программное обеспечение:

    sudo apt -y install vim git curl wget kubelet kubeadm kubectl
  7. 7.

    Отключите автоматическое обновление kubelet, kubeadm и kubectl:

    sudo apt-mark hold kubelet kubeadm kubectl
  8. 8.

    Включите службу kubelet:

    sudo systemctl enable --now kubelet
  9. 9.

    Проверьте установленную версию kubeadm:

    kubeadm version

    Kubernetes: установка

  10. 10.

    Отключите подкачку памяти:

    sudo swapoff -a

    Повторите проделанные шаги на kube-worker.

Как включить модули ядра и изменить настройки в sysctl

На всех узлах внесите следующие настройки:

  1. 1.

    Включите модули overlay и br_netfliter:

    sudo modprobe overlay
    sudo modprobe br_netfilter
  2. 2.

    Теперь измените настройки sysctl. Откройте файл kubernetes.conf:

    sudo nano /etc/sysctl.d/kubernetes.conf
  3. 3.

    Вставьте в него следующие строки:

    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    net.ipv4.ip_forward = 1
  4. 4.
    Сохраните и закройте файл. Для этого нажмите Ctrl+X, затем Y и Enter.
  5. 5.

    Перезагрузите sysctl командной:

    sudo sysctl --system

Как установить Containerd

Теперь на каждой машине нужно установить среду для запуска контейнеров — Containerd.

  1. 1.

    Настройте постоянную загрузку модулей Containerd с помощью команды (нужно скопировать и вставить сразу все 4 строки):

    cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf
    overlay
    br_netfilter
    EOF
  2. 2.

    Перезагрузите sysctl командной:

    sudo sysctl --system
  3. 3.

    Установите необходимые пакеты:

    sudo apt install curl gnupg2 software-properties-common apt-transport-https ca-certificates -y
  4. 4.

    Добавьте GPG-ключ:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  5. 5.

    Добавьте необходимый репозиторий при помощи команды:

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  6. 6.

    Установите Сontainerd:

    sudo apt update
    sudo apt install containerd.io -y
  7. 7.

    Зайдите под пользователем root:

    sudo su -
  8. 8.

    Создайте новый каталог для Сontainerd:

    mkdir -p /etc/containerd
  9. 9.

    Создайте файл конфигурации:

    containerd config default>/etc/containerd/config.toml
  10. 10.

    Выйдите из-под пользователя root:

    exit
  11. 11.

    Перезапустите Containerd:

    sudo systemctl restart containerd
  12. 12.

    Включите автоматический запуск службы Containerd:

    sudo systemctl enable containerd

Как развернуть Kubernetes

  1. 1.

    Перейдите в kube-master и извлеките необходимые образы контейнеров:

    sudo kubeadm config images pull
  2. 2.

    Инициализируйте кластер при помощи команды:

    sudo kubeadm init --pod-network-cidr=10.244.0.0/16
  3. 3.

    В консоли появится информация о команде kubeadm join. Скопируйте и сохраните вывод этой команды. Подключение к кластеру

    Введите эту команду на ноде kube-worker, чтобы присоединить ее к кластеру.

    Если не сохранили команду добавления в кластер, получите ее повторно:

    sudo kubeadm token create --print-join-command
  4. 4.

    Создайте директорию для кластера на мастер-ноде с помощью следующих команд:

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
  5. 5.

    Теперь разверните сеть подов — она используется для коммуникации между несколькими нодами в кластере. Чтобы развернуть виртуальную сеть Flannel pod network, введите:

    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
  6. 6.

    После установки проверьте, что сеть развёрнута:

    kubectl get pods --all-namespaces

    Kubernetes: настройка

  7. 7.

    Присвойте узлу kube-worker роль worker при помощи команды (команду нужно вводить в мастер-ноде):

    sudo kubectl label node kube-worker node-role.kubernetes.io/worker=worker
  8. 8.

    После завершения настроек выполните команду в kube-master:

    kubectl get nodes

    Kubernetes в действии

    Вы должны увидеть в списке мастер-ноду и рабочую ноду.

Готово, вы развернули Kubernetes. Теперь вы можете начать работу с платформой.

Итак, в руководстве мы объяснили, зачем нужен Kubernetes, дали описание основ функционирования архитектуры и показали, как установить Kubernetes на Ubuntu.

Помогла ли вам статья?
ДаНет
раз уже
помогла

Спасибо за оценку!
Как мы можем улучшить статью?

Нужна помощь?
Напишите в службу поддержки!

REG.RU
  • О компании
  • Контакты и офисы
  • Новости
  • Карьера в REG.RU
  • Руководство
  • Отзывы клиентов
Услуги
  • Стоимость услуг
  • Хостинг
  • Зарегистрировать домен
  • Конструктор и CMS
  • Создать сайт в REG.Site
  • VPS
  • Серверы и ДЦ
  • SSL-сертификат
Партнёрам
  • Партнёрские программы
  • Профессионалам IT
  • Бонусная программа
  • REG.API
  • Промоматериалы
Полезное
  • Акции и скидки
  • Мероприятия
  • Юридическим лицам
  • ЭДО
  • Whois
Помощь
  • База знаний
  • Вопросы и ответы
  • Шаблоны заявлений
  • Оставить отзыв, предложение
  • Сообщить о нарушении

+7 (495) 580-11-11

Телефон в Москве

8 800 555-34-78

Бесплатный звонок по России

           

Нашли опечатку?
Выделите и нажмите Ctrl+Enter

  • mastercard
  • visa
  • mir
  • sberbank
  • qiwi
  • yamoney
  • sbp
Все способы оплаты
© ООО «Регистратор доменных имен РЕГ.РУ» Правила пользования сайтомПолитика обработки персональных данных
Award
shop.reg.ru Магазин доменов
statonline.ru Доменная статистика
reg.ru/blog Мы пишем
  • Мы используем файлы cookie. Продолжив работу с сайтом, вы соглашаетесь с Политикой обработки персональных данных и Правилами пользования сайтом.