Что такое MicroK8s?

MicroK8s  —  это минимальный, сертифицированный в CNCF дистрибутив, достаточно легкий для запуска Kubernetes при очень низком расходе ресурсов процессора и объеме занимаемой памяти. По сравнению с таким же мощным, но относительно тяжелым Minikube, он запускается очень быстро.

Несмотря на наличие всех основных компонентов Kubernetes, в MicroK8s также неизменно добавление одной командой типичных дополнений: DNS, Helm, реестра, хранилища и т. д.

В целом, это отличный инструмент локальной разработки Kubernetes: у MicroK8s низкий объем требуемых ресурсов, легкая установка и быстрый запуск.

Установка

MicroK8s запускается на macOS всего 2 командами:

brew install ubuntu/microk8s/microk8s
microk8s install

На Linux это так же просто, но  —  в зависимости от уже имеющейся настройки  —  могут понадобиться дополнительные этапы:

sudo apt-get -y update
sudo snap install core
sudo snap install microk8s --classic
sudo usermod -a -G microk8s $USER
sudo chown -f -R $USER ~/.kube
sudo microk8s config > ~/.kube/config
Установка microk8s

После установки MicroK8s запускается автоматически. На установку MicroK8s и ожидание готовности кластера уходит всего пара минут.

Командой microk8s status --wait-ready проверяется состояние кластера MicroK8s. Проверка завершается, только когда он готов к работе:

microk8s status --wait-ready

Любые «отключенные» дополнения (на скриншоте обозначены как disabled) при желании легко добавляются.

Дэшборд, CoreDNS, Istio и любое другое поддерживаемое дополнение кластера Kubernetes включается командой:

microk8s enable dashboard dns istio

Приятный бонус: вместе с MicroK8s устанавливается kubectl, доступный через microk8s kubectl. В MicroK8s, как и любом другом кластере, запускаются любые команды:

microk8s kubectl get all

Команда microk8s kubectl громоздкая (один kubectl уже длинно), официально рекомендуется создать псевдоним, например alias mkctl="microk8s kubectl".

Если для настройки кластера MicroK8s использовать все команды, в файле ~/.kube/config также должна быть запись:

cat ~/.kube/config

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

# Через "kubectl"
mkctl config view --minify --raw

# Напрямую через microk8s
microk8s config

Убедимся, что все готово к работе. Все ресурсы для всех пространств имен получаются командой:

# Получить все ресурсы для всех пространств имен
mkctl get all --all-namespaces

# Сокращенно
mkctl get all -A
mkctl get all -A

Остановка кластера

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

MicroK8s останавливается одной командой, выполняемой всего за пару секунд:

microk8s stop
Остановка microk8s

Удаление

MicroK8s удаляется с компьютера тоже одной простой командой:

sudo snap remove microk8s

Читайте также:

Читайте нас в TelegramVK и Дзен


Перевод статьи Pascal Zwikirsch: Kubernetes: Installing MicroK8s On Your Local Machine In 5 Minutes

Предыдущая статьяКак создать анимацию колебания с помощью UIKit
Следующая статьяШаблон “Декоратор” в разработке на TypeScript