Как запустить собственный кластер Kubernetes с помощью MicroK8s — CloudSavvy IT

Рисунок с логотипом Kubernetes

MicroK8s — это легкий однопакетный дистрибутив Kubernetes, разработанный Canonical, наиболее известный по операционной системе Ubuntu. MicroK8s следует за вышестоящими выпусками Kubernetes и фокусируется на обеспечении простой установки и управления. Вот как начать запускать собственный кластер.

Монтаж

MicroK8s доступен в Linux, Windows и macOS. Графический установщик Windows предлагается на сайте проекта. Пользователи macOS должны использовать Brew в то время как пользователи Linux обслуживаются щелкает.

Следуйте отдельной привязке шаги установки если в вашей системе отсутствует snapd. Затем используйте команду snap install, чтобы добавить MicroK8:

sudo snap install microk8s —classic

Устанавливается последняя версия MicroK8s. Вы можете выбрать конкретный выпуск с помощью флага —channel:

sudo snap install microk8s —classic —channel = 1.19 / стабильный

Это даст вам версию MicroK8s, основанную на Kubernetes v1.19.

После запуска сервисов Kubernetes установка может занять некоторое время. Запуск microk8s status —wait-ready позволяет вам проверять прогресс, чтобы вы знали, когда MicroK8s готов к использованию.

Взаимодействие с вашим кластером

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

sudo microk8s kubectl получить все —all-namespaces

Эта команда отображает все ресурсы в вашем кластере.

Затем создайте базовый манифест для развертывания:

apiVersion: v1 kind: Pod metadata: name: my-pod spec: container: — name: nginx image: nginx: latest ports: — name: http containerPort: 80 protocol: TCP

Примените манифест к своему кластеру:

sudo microk8s kubectl apply -f ./manifest.yaml

MicroK8s создаст новый Pod, на котором будет запущен веб-сервер NGINX. Он появится, когда вы повторно запустите microk8s kubectl get all.

MicroK8s совместим со всеми командами Kubectl. Если вы хотите отказаться от префикса microk8s, вы можете использовать вместо него «настоящий» двоичный файл kubectl:

sudo microk8s вид конфигурации kubectl —raw> $ HOME / .kube / config

Это экспортирует информацию о подключении MicroK8s в ваш файл конфигурации Kubernetes, позволяя простым командам kubectl достигать вашего кластера.

Для большинства команд MicroK8s требуется доступ суперпользователя. Для долгосрочного использования добавьте свою учетную запись пользователя в группу microk8s, чтобы вам не приходилось каждый раз использовать sudo:

sudo usermod -aG microk8s $ ПОЛЬЗОВАТЕЛЬ

Доступ к изображениям Docker

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

docker save my-image: latest> my-image.tar microk8s ctr image import my-image.tar

Теперь ваши поды могут успешно ссылаться на изображение. Вы можете перечислить все известные образы в реестре MicroK8s с помощью команды ls microk8s ctr images.

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

Включение панели управления Kubernetes

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

microk8s включить приборную панель

Запуск службы может занять некоторое время. Запустите microk8s kubectl get services —namespace kube-system и дождитесь появления службы kubernetes-dashboard. Запишите его CLUSTER-IP и перейдите по его адресу в браузере. Должна появиться панель управления Kubernetes, позволяющая вам взаимодействовать с вашими ресурсами с помощью графического интерфейса.

Использование дополнительных дополнений

MicroK8s поставляется с несколькими другими дополнительными надстройками для распространенных случаев использования. Надстройка dns добавляет поддержку развертывания DNS, хранилище предоставляет класс хранилища по умолчанию на основе каталогов хоста, а входящий доступ предлагает входной контроллер, который позволяет вам создавать ресурсы маршрутизации входящего трафика.

Дополнение реестра — это специальная служба, которая развертывает готовый к использованию реестр Docker на localhost: 32000. Использование реестра предоставляет частное пространство для хранения, куда вы можете отправить свои изображения, прежде чем использовать их в своих модулях Kubernetes. Аналогичным образом аддон istio запускает Сетка Istio для предоставления функций обнаружения сервисов.

Исчерпывающее описание этих дополнений приведено в Документация MicroK8s. Вы можете просмотреть все доступные дополнения в вашей установке, запустив microk8s enable без каких-либо аргументов. По умолчанию активна только минимальная функциональность Kubernetes, поскольку MicroK8s фокусируется на обеспечении оптимизированного взаимодействия.

Управление вашим кластером

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

Чтобы выключить кластер, запустите microk8s stop. Это остановит все службы, переведя все в автономный режим. Вы перезапускаете кластер с помощью команды запуска microk8s. На запуск всех ваших служб может потребоваться некоторое время.

Вы можете просмотреть сведения о подключении к кластеру, запустив конфигурацию microk8s. Будет создан Kubectl-совместимый файл YAML, готовый к использованию с другими инструментами.

Выполнение сброса microk8s вернет ваш кластер в исходное состояние после установки. Это разрушительная операция, отнимающая много времени, которая уничтожит все ваши ресурсы. Это облегчает эксперименты, позволяя разобрать все, не удаляя оснастку MicroK8s. Тома хранилища Kubernetes будут сохранены по умолчанию; вы также можете удалить их, добавив флаг —destroy-storage.

Многоузловые кластеры

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

Сначала запустите дополнительный узел microk8s на исходном узле. Он станет управляющим мастером, который управляет плоскостью управления Kubernetes.

дополнительный узел microk8s

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

Как только узел будет добавлен, он сможет разместить ваши поды. Вы можете просмотреть все доступные узлы, запустив microk8s kubectl get nodes.

Удаление узла из кластера — это обратное упражнение. Сначала запустите microk8s leave на целевом узле. Затем запустите microk8s remove-node 10.108.0.1 на мастере, подставив IP-адрес удаленного узла. Это уведомит все остальные узлы об удалении. Целевой узел вернется к обычной автономной установке MicroK8s, став собственным главным узлом.

Вывод

MicroK8s — это минимальный дистрибутив Kubernetes, который легко размещается на вашем собственном оборудовании. Он полностью совместим с CNFC и поставляется со встроенными надстройками для официальной панели управления Kubernetes, маршрутизации Ingress и сервисной сети Istio. Это поможет вам быстро настроить собственный готовый к работе кластер, способный соответствовать управляемым предложениям Kubernetes от поставщиков общедоступного облака.

MicroK8s поддерживает особенно широкий спектр аппаратного обеспечения и архитектур развертывания. Работает на рабочих станциях разработчиков, в высокодоступный производственная среда и на Raspberry Pi. Такая гибкость позволяет использовать одни и те же технологии при разработке и производстве, вплоть до реализации Kubernetes.

По сравнению с конкурирующими проектами, такими как MinikubeMicroK8s отлично справляется с работой в средах с ограниченными ресурсами с минимальными накладными расходами. Он извлекает выгоду из собственной контейнеризации с использованием формата пакета snap, поэтому нет тяжелой виртуальной машины для запуска. Это оставляет вам больше возможностей для размещения ваших рабочих нагрузок и других инструментов разработчика.

Хотя MicroK8s начинал свою жизнь как проект, ориентированный на разработчиков, ориентированный на локальное тестирование и создание прототипов, сейчас он выставлен как готовый к производству Дистрибутив Kubernetes с проверенной репутацией пристального внимания к выпускам апстрима. Кластеры могут быть обновлен до новых выпусков Kubernetes с использованием команда snap refresh microk8s.

Похожие записи

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

Ваш адрес email не будет опубликован.