Русский
Русский
English
Статистика
Реклама

Как установить Kubernetes на сервер Ubuntu без Docker-а

image

Kubernetes прекращает поддержку Docker-а. Теперь, вся тяжелая работа, которую вы вложили в изучение, сильно изменится. Даже с самого начала пути использование Kubernetes не будет прежним.

Я говорю о самой установке инструмента управления контейнерами. Вы, конечно, не можете развернуть Kubernetes так же, как когда-то установив Docker в качестве среды выполнения.

Вместе мы сейчас попробуем установить Kubernetes на Ubuntu Server 20.04 без Docker-а.


Что вам понадобится


  • Пользователь с привилегиями sudo
  • Экземпляр Ubuntu Server 20.04 (он будет служить Контроллером вам понадобятся другие экземпляры для работы в качестве узлов, но я собираюсь продемонстрировать только на Контроллере, так как установка будет одинаковой на всех машинах)


Как установить среду выполнения containerd


Первое, что мы сделаем, это установим среду выполнения containerd, которая займет место Docker. Войдите в свой экземпляр Ubuntu Server и обязательно обновите apt с помощью команды:

sudo apt-get update

После этого вы должны запустить обновление с помощью команды:

sudo apt-get upgrade -y

Если ядро обновляется, вам нужно перезагрузить сервер (если у вас не установлен и не запущен Live Patch).

Установите containerd с помощью команды:

sudo apt-get install containerd -y


Настройте containerd и запустите службу с помощью команд:

sudo mkdir -p /etc/containerdsudo su -containerd config default  /etc/containerd/config.toml


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


Далее мы установим Kubernetes. Сначала нужно добавить ключ GPG репозитория с помощью команды:

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


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

sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"


Теперь вы можете установить все необходимые компоненты Kubernetes с помощью команды:

sudo apt-get install kubeadm kubelet kubectl y


Как решить несколько проблем, возникших с containerd



Здесь все становится немного сложнее.В Docker было решено множество внутренних вещей.Когда вы переходите на containerd, вам нужно внести некоторые изменения в конфигурацию вручную.

Первое изменение добавить строку в /etc/sysctl.conf.Откройте файл командой:

sudo nano /etc/sysctl.conf


Открыв этот файл, добавьте снизу следующее:

net.bridge.bridge-nf-call-iptables = 1


Сохраните и закройте файл.

Затем введите команды:

sudo -ssudo echo '1' > /proc/sys/net/ipv4/ip_forwardexit


Перезагрузите конфигурации с помощью команды:

sudo sysctl --system


Вам также потребуется загрузить пару необходимых модулей с помощью команд:

sudo modprobe overlaysudo modprobe br_netfilter


Как только вы позаботитесь об этом, то сможете инициализировать Kubernetes.

Как завершить настройку



Вам нужно будет отобразить все ваши узлы в / etc / hosts.Убедитесь, что отображение имеет форму:

IP Address hostname


Следующим шагом является установка имени хоста вашего контроллера (убедитесь, что оно соответствует имени хоста, которое вы использовали в / etc / hosts) с помощью команды:

sudo hostnamectl set-hostname HOSTNAME


Где HOSTNAME это имя хоста, которое вы хотите использовать.

Отключите свопинг, открыв файл fstab для редактирования командой:

sudo nano /etc/fstab


В этом файле закомментируйте (добавив символ # в начало строки) запись, которая начинается с:

/swap.img


Эта строка теперь будет начинаться с:

# / swap.img


Сохраните и закройте файл.

Отключите своп командой:

sudo swapoff -a


Вытащите необходимые контейнеры командой:

sudo kubeadm config images pull


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

sudo kubeadm init --pod-network-cidr=IPADDRESS/24


Где IPADDRESS это IP-адрес вашего контроллера.

В конечном итоге вы вернетесь к команде, которую нужно запустить на ваших узлах, чтобы они могли подключиться к кластеру.Скопируйте эту команду.

Прежде чем вы сможете присоединить узлы к кластеру, вам нужно позаботиться о еще нескольких битах в кластере.

На контроллере создайте каталог кластера с помощью команды:

mkdir -p $ HOME / .kube


Скопируйте файл конфигурации в этот каталог с помощью команды:

sudo cp -i /etc/kubernetes/admin.conf $ HOME / .kube / config


Дайте конфигурационному файлу соответствующие разрешения с помощью команды:

sudo chown $(id -u):$(id -g) $HOME/.kube/config


Разверните сеть контейнеров (в данном случае мы будем использовать weave-net) в кластере с помощью команды:

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"


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

Процесс не так прост, как раньше.Надеюсь, что в будущем развертывание кластера Kubernetes будет таким же простым, как и при использовании Docker.

Источник: habr.com
К списку статей
Опубликовано: 12.02.2021 08:05:33
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Kubernetes

Docker

Ubuntu

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru