Добавить в корзинуПозвонить
Найти в Дзене

Установка Kubernetes на Ubuntu/Debian

Сегодня под наше рассмотрение попадает вопрос установки Kubernetes кластера в среде Debian-based операционных систем: Debian 9+ и Ubuntu 16+. Рассмотрим следующую конфигурацию кластера: Базовая установка Базовая установка совпадает для всех типов узлов кластера: мастеров и рабочих. Подготовка узлов Для начала необходимо обновить часть системных настроек на всех узлах будущего кластера. Kubernetes требует использования честной памяти, поэтому выключаем swap sudo swapoff -a Дальше необходимо отключит swap при перезапуске: для этого открываем /etc/fstab и комментируем/удаляем все записи swap. Помимо этого, установим некоторое вспомогательное ПО sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common Установка среды исполнения контейнеров Теперь начинаем приступать к установке необходимого ПО. Во-первых, среда исполнения контейнеров: Docker+ContainerD. Добавляем репозиторий (пример для Ubuntu 18) sudo add-apt-repository "deb https://download.
Оглавление
https://ubuntu.com/blog/ubuntu-kubernetes
https://ubuntu.com/blog/ubuntu-kubernetes

Сегодня под наше рассмотрение попадает вопрос установки Kubernetes кластера в среде Debian-based операционных систем: Debian 9+ и Ubuntu 16+.

Рассмотрим следующую конфигурацию кластера:

  • один мастер-узел
  • несколько (1+) рабочих узлов
  • драйвер оверлэйной сети: Calico (но вы можете использовать любой другой на ваш вкус)

Базовая установка

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

Подготовка узлов

Для начала необходимо обновить часть системных настроек на всех узлах будущего кластера.

Kubernetes требует использования честной памяти, поэтому выключаем swap

sudo swapoff -a

Дальше необходимо отключит swap при перезапуске: для этого открываем /etc/fstab и комментируем/удаляем все записи swap.

Помимо этого, установим некоторое вспомогательное ПО

sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common

Установка среды исполнения контейнеров

Теперь начинаем приступать к установке необходимого ПО. Во-первых, среда исполнения контейнеров: Docker+ContainerD.

Добавляем репозиторий (пример для Ubuntu 18)

sudo add-apt-repository "deb https://download.docker.com/linux/ubuntu/ bionic stable"
wget -qO - https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-get update

Где вместо ubuntu и bionic необходимо подставить ваш дистрибутив.

Устанавливаем docker

sudo apt-get install -y docker-ce docker-ce-cli containerd.io

Установка пакетов Kubernetes

Пришло время для установки системных пакетов Kubernetes.

Добавляем репозиторий с kubernetes

sudo add-apt-repository "deb https://apt.kubernetes.io/ kubernetes-xenial main"
wget -qO - https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key
sudo add - apt-get update

Устанавливаем пакеты

apt-get install -y kubelet kubeadm kubectl

На этом этапе базовая установка считается законченной и следующие шаги будут направленны на настройку узлов в соответствии с их ролями.

Инициализация кластера

Инициализация мастер-узла

Первым этапом инициализации кластера является инициализация мастер-узла.

Скачиваем образы системных контейнеров

kubeadm config images pull

Инициализируем мастер, где 10.0.1.1 - ip-адрес мастер-узла

kubeadm init --apiserver-advertise-address="10.0.1.1" \ --apiserver-cert-extra-sans="10.0.1.1" \ --node-name k8s-master \ --pod-network-cidr="192.168.0.0/16"

Теперь пора инициализировать сетевой драйвер. В этой статье мы будем использовать Calico версии 3.8 (последняя на момент написания).

kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/calico.yaml

Затем необходимо сгенерировать и сохранить команду для присоединения рабочих узлов

kubeadm token create --print-join-command

Подключение рабочих узлов

Теперь заходим по ssh на каждый рабочий узел и выполняем там полученную на предыдущем шаге команду.

Создание пользователя для управления кластером

Теперь создадим специального пользователя для управления кластером.

Для этого создадим нового пользователя на мастер-узле

sudo useradd kube

Добавляем настройки для подключения к кластеру

sudo mkdir -p /home/kube/.kube
sudo
cp -i /etc/kubernetes/admin.conf /home/kube/.kube/config
sudo
chown kube:kube /home/kube/.kube/config

Теперь можно проверить

sudo su kube
kubectl get all -A

Всё, на этом установку кластера можно считать выполненной.

Надеюсь, данная статья была вам полезна и до новых встреч.