K3s — облегченный дистрибутив Kubernetes для платформ x86 и Arm с ограниченных ресурсами

Kubernetes (K8s) описывается как «портативная расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и службами, облегчающая как декларативную настройку, так и автоматизацию. Она имеет большую, быстро растущую экосистему. Услуги, поддержка и инструменты Kubernetes широко доступны. Google открыл проект Kubernetes в 2014 году».

Однако, как объясняет генеральный директор Rancher Labs Шен Лянг (Sheng Liang), «существующие дистрибутивы Kubernetes часто требуют большого объема памяти и слишком сложны для периферийных вычислительных сред», поэтому компания разработала и выпустила K3s, облегченный дистрибутив Kubernetes, предназначенный для разработчиков и операторов, ищущих способ запуска Kubernetes в x86, Armv7-A и 64-разрядных аппаратных платформах Armv8-A с ограниченными ресурсами, что часто встречается в периферийных вычислительных средах, в отличие от облака.

Rancher Labs удалось сократить площадь присутствия Kubernetes и лучше адаптировать ее к оборудованию начального уровня, выполнив четыре основных шага:

  • Удаление старого и несущественного кода — функциональные возможности Alpha, все нестандартные контроллеры доступа, провайдеры облачного хранилища и драйверы хранилища по умолчанию отключены, вместо этого они разрешают пользователям добавлять любые необходимые им драйверы.
  • Консолидация пакетов запущенных процессов. В целях экономии оперативной памяти процессы, которые обычно выполняются на сервере управления Kubernetes, были объединены в один процесс, включая процессы Kubelet, kubeproxy и flannel agent .
  • Используя containerd вместо Docker — переключаясь на containerd и удаляя такие функции, как libnetwork, swarm, драйверы хранилища Docker и другие плагины, Rancher удалось значительно сократить объем времени выполнения.
  • Внедрен SQLite в качестве дополнительного хранилища данных — Rancher добавил SQLlite в качестве дополнительного хранилища данных в K3s, чтобы предоставить легкую альтернативу etcd. 

В результате получается простой в установке, легкий дистрибутив Kubernetes с двоичным файлом размером менее 40 МБ, для работы которого требуется всего 512 МБ ОЗУ, 75 МБ на узел и Linux 3.10 или выше.

Компания Goldwind Smart Energy, специализирующаяся на конкретных случаях использования, управляет более чем 30 000 ветряными турбинами, а K3 позволяют им развертывать кластеры Kubernetes в тысячах периферийных мест.

Инструкции по установке K3s на Raspberry Pi можно найти в Medium, но в основном, если у вас уже есть настроенные образы для вашей платы, все, что вам нужно сделать, это запустить: 

Который должен автоматически установить K3s для вашей архитектуры (amd64, armhf или arm64). Вы также найдете дополнительную информацию на официальном сайте и репозитории K3s github.

Чтобы запустить сервер: 

и один agent: 

Где NODE_TOKEN  из /var/lib/rancher/k3s/server/node-token 
на сервере.

K3s также был продемонстрирован на FOSDEM 2019 в рамках доклада под названием «CI/CD для разработки встраиваемых систем с ESP8266, Arduino-cli, Gitlab-ci, Raspberry Pi и Kubernetes».

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

Оригинал статьи вы можете прочитать здесь.


Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.