Microk8s Ubuntu что это такое

Обновлено: 21.11.2024

MicroK8s впервые был выпущен в конце 2018 года, и с тех пор его активно используют как разработчики, так и предприятия. Принимая во внимание растущий спрос и любопытство по этой теме, мы уже познакомили вас с MicroK8, а также рассказали, как развернуть MicroK8 локально в предыдущих сообщениях блога. На этот раз мы рассмотрим прикладную ценность MicroK8, рассмотрев распространенные варианты использования MicroK8. Среди прочего, сюда входят рабочие процессы AI/ML.

Что такое MicroK8s?

Для тех, кто еще не знаком с MicroK8, давайте начнем с его определения. Microk8s — это легковесный Kubernetes, предназначенный исключительно для восходящего потока, целью которого является снижение барьеров для входа на K8s и разработку облачных приложений. Он поставляется в виде единого пакета, который устанавливает одноузловой (автономный) кластер K8s менее чем за 60 секунд. Вы также можете использовать его для создания многоузлового кластера с помощью всего нескольких команд. MicroK8s имеет все основные компоненты Kubernetes, а также является самоуверенным. Это означает, что многие надстройки, которые вы обычно ищете в Kubernetes, такие как DNS и Dashboard, находятся на расстоянии одной команды.

MicroK8s доступен для большинства популярных дистрибутивов Linux, а также для рабочих станций Windows и Mac через собственный установщик для обеих операционных систем. В Windows у вас также есть возможность приобрести MicroK8 на WSL.

Он использует механизм моментальной упаковки, что очень удобно, так как обеспечивает автоматические обновления. Это означает, что как только появится новая стабильная версия Kubernetes, ваш кластер MicroK8s будет автоматически обновлен. Точно так же вы получите все доступные исправления безопасности для K8s.

Для чего вы можете использовать MicroK8?

Для кого предназначен MicroK8s? MicroK8 может быть как другом разработчика, так и Kubernetes для предприятий. Вам просто нужен Kubernetes? MicroK8s — самый простой способ получить его. Вы можете использовать его на своей локальной рабочей станции для разработки и тестирования.

Низкое потребление ресурсов и поддержка архитектур ARM и Intel делают MicroK8 идеальным решением для периферийных устройств, Интернета вещей и устройств. Мы видим, что многие люди используют MicroK8 на своих Raspberry PI, и у нас также есть несколько отличных руководств по этому поводу, доступ к которым вы можете получить на вкладке «вложения» под этим видео.

Что особенно удобно в MicroK8, так это отсутствие операций. Даже те, у кого очень мало практического опыта работы с Kubernetes, могут настроить и запустить свой кластер Kubernetes с помощью одной команды, получать обновления безопасности, не пошевелив пальцем, и запускать надстройки, не беспокоясь о настройке. Однако помните: если вы хотите настроить его, вы МОЖЕТЕ — в конце концов, это всего лишь Kubernetes.

Последнее усовершенствование MicroK8s — кластеризация высокой доступности. Получите полностью отказоустойчивый кластер K8s, присоединив к кластеру три или более узлов, и MicroK8s автоматически распределят плоскость управления между узлами.

MicroK8s получает полную корпоративную поддержку от Canonical и 10-летнее обязательство для критически важных развертываний. Мы активно работаем со всеми основными облаками, чтобы упростить развертывание мультиоблачных и гибридных облаков и гарантировать, что наши пользователи получат беззаботный Kubernetes производственного уровня.

Возможности MicroK8s

Здесь вы можете увидеть полный набор функций и надстроек, которые в настоящее время поддерживаются MicroK8s.

  • Используйте Juju, JAAS или Helm для автоматизации операций.
  • Используйте DNS, ingress, Flannel и Cilium для сети вашего проекта
  • Используйте GPU-ускорение для своих проектов глубокого обучения, а если вы увлекаетесь искусственным интеллектом и машинным обучением, объедините его с Kubeflow в качестве HPC для домашней версии.
  • Используйте Istio или Linkerd для сервисной сетки и MetalLb для балансировки нагрузки.
  • Используйте KNative для написания бессерверных приложений

А если вам нужно ведение журналов и мониторинг ваших проектов, у нас есть полный набор инструментов, включающий Prometheus, Grafana, Elastic, Fluentd, Kibana и Jaeger.

Теперь, когда мы узнали, что такое MicroK8s, давайте немного поговорим о том, как его можно использовать, рассмотрев некоторые распространенные варианты использования. Первым будет DevOps и настройка конвейеров CI/CD. Неважно, нужен ли вам Kubernetes для запуска тестов на локальном или производственном конвейере CI/CD. MicroK8s — это самый простой способ получить Kubernetes. Начните с создания ваших контейнерных приложений локально, используя MicroK8, например, Gitlab. Затем переместите свои приложения в свою тестовую среду, которая также построена на другом экземпляре MicroK8s, и, наконец, разверните свои контейнеры в рабочей среде. То, что я только что описал, представляет собой многоэтапный процесс, который требует много настроек для настройки. С MicroK8 это уже не так.

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

Еще один важный вариант использования — создание конвейеров AI/ML на базе MicroK8. Когда мы смотрим на команды машинного обучения, специалисты по обработке и анализу данных часто работают изолированно, то есть каждый из них создает разные части рабочего процесса, что приводит к трудностям в совместном использовании и обслуживании блокнотов и сценариев. Это связано с тем, что некоторые из используемых ими инструментов не поддерживают многопользовательские среды.

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

MicroK8s решает проблемы разрозненности и инфраструктуры благодаря Kubeflow и GPU-ускорению. Kubeflow объединяет одну из новейших и лучших коллекций инструментов AI/ML, которые позволяют совместно использовать рабочие процессы AI между командами. Запустить Kubeflow поверх MicroK8s так же просто, как «microk8s.enable kubeflow». Ускорение графического процессора позволяет удовлетворить требования к вычислительным ресурсам для обучения модели. Опять же, включить ускорение графического процессора с помощью MicroK8s достаточно одной командой.

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

Ключевые выводы и ресурсы по MicroK8

  • Готовые к производству, полностью совместимые K8 на рельсах с выбранными надстройками
  • MicroK8s доступен для Linux, Windows и macOS.
  • Используйте его для разработки и тестирования, кластеров, DevOps, AI/ML, IoT, Edge и устройств

Хотите более подробное описание MicroK8 и краткую демонстрацию? Взгляните на наш веб-семинар «Введение в MicroK8s».

Что такое Kubernetes?

Kubernetes, или сокращенно K8s, — это платформа с открытым исходным кодом, впервые разработанная Google. Сначала она была простым инструментом оркестрации контейнеров, а затем превратилась в платформу для развертывания, мониторинга и управления приложениями и службами в облаках.

Примечание. Если вы не соответствуете этим требованиям, существуют дополнительные способы установки MicroK8, включая дополнительную поддержку ОС и автономное развертывание. Дополнительные сведения см. на странице альтернативной установки.

Установите MicroK8s

MicroK8s установит минимальный и легкий Kubernetes, который вы сможете запустить и использовать практически на любой машине. Его можно установить с помощью оснастки:

Вступить в группу

MicroK8s создает группу для беспрепятственного использования команд, требующих прав администратора. Чтобы добавить текущего пользователя в группу и получить доступ к каталогу кэширования .kube, выполните следующие две команды:

sudo usermod -a -G microk8s $USER
sudo chown -f -R $USER ~/.kube

Вам также потребуется повторно войти в сеанс, чтобы произошло обновление группы:

Проверить статус

MicroK8s имеет встроенную команду для отображения своего состояния. Во время установки вы можете использовать флаг --wait-ready, чтобы дождаться инициализации сервисов Kubernetes:

статус microk8s --wait-ready

Доступ к Kubernetes

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

microk8s kubectl получает узлы

…или просмотреть запущенные службы:

microk8s kubectl получает услуги

MicroK8s использует команду kubectl с пространством имен для предотвращения конфликтов с любыми существующими установками kubectl. Если у вас нет существующей установки, проще добавить псевдоним (добавить к ~/.bash_aliases ) следующим образом:

псевдоним kubectl='microk8s kubectl'

Развернуть приложение

Конечно, Kubernetes предназначен для развертывания приложений и сервисов. Вы можете использовать команду kubectl, чтобы сделать это, как и в любом Kuberenetes. Попробуйте установить демо-приложение:

microk8s kubectl создает развертывание nginx --image=nginx

Установка может занять минуту или две, но вы можете проверить статус:

microk8s kubectl получает модули

Использовать дополнения

MicroK8s использует минимум компонентов для чистого и легкого Kubernetes. Однако множество дополнительных функций доступно несколькими нажатиями клавиш с помощью «надстроек» — предварительно упакованных компонентов, которые предоставят дополнительные возможности для вашего Kubernetes, от простого управления DNS до машинного обучения с помощью Kubeflow!

Для начала рекомендуется добавить управление DNS для облегчения связи между службами. Для приложений, которым требуется хранилище, надстройка «хранилище» предоставляет место в каталоге на хосте. Их легко настроить:

microk8s включает DNS-хранилище

Запуск и остановка MicroK8

MicroK8s будет продолжать работать, пока вы не решите его остановить. Вы можете остановить и запустить MicroK8 с помощью этих простых команд:

… остановит MicroK8s и его службы. Вы можете начать снова в любое время, запустив:

Обратите внимание, что если вы оставите MicroK8s работающим, он автоматически перезапустится после перезагрузки. Если вы не хотите, чтобы это произошло, просто не забудьте запустить microk8s stop перед отключением питания.

Вы ищете легкий, быстрый и высокодоступный Kubernetes? Microk8s может быть тем, что вам нужно. Высокая доступность заложена в ДНК MicroK8. После того, как вы установите его, вам редко придется вносить изменения, потому что все сразу работает «из коробки».

Если вы все еще сомневаетесь, читайте дальше! Потому что в этом руководстве вы шаг за шагом узнаете, как установить Microk8s локально на Ubuntu, чтобы вы могли быстро приступить к своему первому развертыванию!

Оглавление

Предпосылки

Эта статья представляет собой пошаговое руководство. Чтобы следовать примерам, вам понадобится компьютер с Ubuntu 20.04 LTS, который уже поставляется с предустановленным менеджером пакетов Snap.

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

Установка Microk8s

Теперь, когда у вас есть предварительные условия, ваша среда должна быть готова для установки Microk8s. К счастью, Canonical сделала установку Microk8s быстрой и удобной в виде пакета Snap.

Snap — это автономный пакет, который универсально работает в любом дистрибутиве Linux с менеджером пакетов Snap.

Чтобы установить Microk8s в Ubuntu, выполните следующие действия.

<р>1. Откройте терминальный сеанс на вашем компьютере с Ubuntu, локально или через SSH.

<р>2. Выполните следующую команду на терминале, чтобы установить Microk8s.

На изображении ниже показано подтверждающее сообщение после успешной установки. Как видите, последней стабильной версией MicroK8s на момент написания этой статьи является v1.22.4.

Успешно установлен Microk8s

<р>3. Наконец, чтобы подтвердить статус службы MicroK8s, выполните следующую команду.

Снимок экрана ниже подтверждает, что служба microk8s запущена. Кроме того, вы можете видеть, что надстройка ha-cluster включена по умолчанию, что обеспечивает конфигурацию высокой доступности на текущем узле.

Отображение состояния службы microk8s

Добавление вашей учетной записи пользователя в группу MicroK8s

Выполнение команд Microk8s требует привилегий суперпользователя, что означает, что вы должны вводить каждую команду с помощью sudo . Чтобы избежать этой неприятности, при установке Microk8s создается группа с подходящим названием microk8s, члены которой будут иметь права суперпользователя для выполнения команд MicroK8s.

<р>1. Чтобы добавить свою учетную запись пользователя в microk8s, выполните следующую команду в терминале.

<р>2. Добавление вашей учетной записи в microk8s не приводит к автоматическому применению новых привилегий к вашему текущему сеансу терминала. Чтобы обновить сеанс терминала и новые привилегии вступили в силу, выполните приведенные ниже команды.

<р>3. С этого момента, когда вы запускаете команды microk8s, вам больше не нужно добавлять префикс к команде sudo. Для проверки запустите команды microk8s kubectl в терминале.

Команды должны выполняться без использования команды sudo, как показано ниже.

Выполнение команд microk8s без sudo

Подкоманда kubectl управляет диспетчером кластера Kubernetes. Если вы предпочитаете отказаться от префикса microk8s и просто использовать *kubectl для отправки команд Kubernetes, создайте псевдоним, выполнив команду: alias kubectl='microk8s kubectl' .

Включение панели управления Kubernetes и доступ к ней

Microk8s поддерживает широкий спектр надстроек. Одним из них является надстройка панели мониторинга **, которая включает веб-панель панели управления Kubernetes. Панель инструментов позволяет просматривать ресурсы и взаимодействовать с ними с помощью графического интерфейса. Что еще лучше, включение этого дополнения занимает всего одну строку.

<р>1. Выполните приведенную ниже команду, чтобы включить веб-панель управления Kubernetes.

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

<р>2. Затем получите IP-адрес службы kubernetes-dashboard, который является IP-адресом панели мониторинга.

После выполнения команды запишите IP-адрес и номер порта из результата.

Получение IP-адреса панели управления Kubernetes

<р>3. Для доступа к панели управления требуется авторизация с использованием токена по умолчанию. Чтобы получить токен по умолчанию, выполните приведенные ниже команды.

Как вы можете видеть ниже, имя токена по умолчанию — default-token-7dqgd. Имя токена по умолчанию уникально для каждой установки.

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

Получение токена по умолчанию

Вход в панель управления с помощью токена

Теперь у вас есть графическое представление ресурсов Kubernetes.

Просмотр панели управления Kubernetes

Развертывание примера приложения Microk8s

Если вы правильно выполнили предыдущие разделы, теперь у вас должна быть правильная настройка Kubernetes. Это руководство будет неполным, если вы не развернете образец приложения для тестирования.

В этом разделе вы будете развертывать базовое приложение NGINX, работающее в контейнере Docker.

Развертывание Kubernetes позволяет Kubernetes создавать, изменять и управлять модулями. Развертывания отвечают за управление желаемым состоянием модулей.

<р>1. Запустите приведенную ниже команду, чтобы создать развертывание с именем nginx. Эта команда извлекает образ NGINX из Docker Hub, создает модуль и запускает контейнер NGINX внутри модуля.

Приведенные ниже результаты подтверждают, что вы успешно создали развертывание.

Создание развертывания NGINX

<р>2. Затем выполните приведенную ниже команду, чтобы убедиться, что модуль для NGINX запущен.

Как вы можете видеть ниже, теперь у вас запущен один модуль.

Список работающих модулей

<р>3. Хотя модуль, на котором работает NGINX, в настоящее время активен и работоспособен, контейнер NGINX внутри модуля недоступен с хост-компьютера. Чтобы открыть приложение для сети, выполните приведенную ниже команду, чтобы связать порт 80 контейнера с портом 80 хост-компьютера.

Как вы можете видеть ниже, результат указывает на то, что команда создала службу для развертывания NGINX. Служба Kubernetes обеспечивает сетевое взаимодействие между модулями или между модулями и хост-компьютером.

Создание службы для развертывания

<р>4. Прежде чем вы сможете получить доступ к контейнеру NGINX с помощью браузера, вам сначала нужно найти его номер порта. Для этого выполните приведенную ниже команду, чтобы получить номер порта модуля nginx.

В этом примере порт узла Kubernetes, сопоставленный на машине для контейнера nginx, — 31979.

Поиск номера порта службы

Доступ к приложению NGINX, работающему внутри модуля

Остановка, запуск и удаление MicroK8

Запуск Kubernetes в фоновом режиме потребляет системные ресурсы. Если вы не используете службу, рассмотрите возможность ее остановки, чтобы освободить ресурсы и сэкономить электроэнергию. Независимо от того, запускаете ли вы, останавливаете или удаляете MicroK8, вам нужно будет выполнять только однострочники — разве это не удобно?

Чтобы остановить Microk8s и его службы, выполните приведенную ниже команду.

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

Но если вам больше не нужен MicroK8s и вы хотите удалить его со своего компьютера, выполните приведенную ниже команду удаления.

Заключение

Наконец-то вы подошли к концу этого руководства. С помощью приведенного выше пошагового руководства вы успешно установили Microk8s локально, запустили один узел, развернули пример приложения в кластере и успешно остановили кластер.

Что вы будете делать дальше? Как насчет добавления еще одного узла Microk8s в ваш кластер? Но это полностью зависит от вас! С ума сойти!

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

Ещё от ATA Learning & Partners

Резервное копирование Office 365 для чайников

Лучшее руководство по защите данных Microsoft Office 365. Изучите готовые функции безопасности.

Руководства ATA

ATA известна своими высококачественными письменными учебными пособиями в виде сообщений в блогах. Поддержите ATA с помощью электронных книг ATA Guidebook PDF, доступных в автономном режиме и без рекламы!

Сделайте свои приложения масштабируемыми и безопасными после развертывания, установив локальный экземпляр Kubernetes на сервер Ubuntu.

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

Давайте рассмотрим, как установить локальный экземпляр Kubernetes в Ubuntu с помощью MicroK8 (MicroKates). С помощью этой настройки вы можете легко размещать приложения-контейнеры безопасным, надежным и масштабируемым образом.

Зачем использовать MicroK8s?

Kubernetes – это платформа с открытым исходным кодом, которая помогает оптимизировать операции DevOps за счет автоматизации развертывания, масштабирования и управления контейнерными приложениями. Kubernetes также широко известен как K8s, название, полученное из восьми букв между k и s в имени Kubernetes. Думайте о MicroK8 как об экземпляре Micro Kubernetes.

Большинство общедоступных и частных облачных сред производственного уровня, работающих под управлением Ubuntu, используют Charmed Kubernetes для управления контейнерными приложениями. Однако проблема с Charmed Kubernetes заключается в том, что он требователен к ресурсам и требует хорошего уровня знаний для правильной настройки.

Именно здесь на помощь приходит MicroK8s. MicroK8s — это небольшой и легкий исходный Kubernetes, который может работать на ПК разработчика, устройстве IoT или на периферийных устройствах без необходимости использования виртуальной машины. MicroK8s является кроссплатформенным и может работать как на архитектурах Intel, так и на ARM.

MicroK8s — это один из лучших способов познакомиться с Kubernetes с минимальными трудностями. Это сертифицированный Kubernetes upstream от Cloud Native Computing Foundation (CNCF), который гарантирует, что реализации Kubernetes совместимы и совместимы в соответствии с указанными отраслевыми стандартами.

Шаг 1. Установка MicroK8s в Ubuntu

Вы можете легко установить MicroK8s на Ubuntu с помощью команды snap.

Кроме того, вы можете установить MicroK8s из графического интерфейса пользователя с помощью Ubuntu Software Center. Просто найдите microk8s и нажмите кнопку «Установить».

Шаг 2. Настройка брандмауэра для MicroK8s

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

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

Затем выполните следующую команду:

Шаг 3. Добавление пользователя в группу MicroK8s

На данный момент вам придется использовать команду sudo для запуска большинства команд MicroK8s. Хотя это хорошая мера безопасности на рабочем сервере, она может не понадобиться на машине разработки.

Добавьте своего пользователя в группу MicroK8s, чтобы не использовать sudo.

Кроме того, сделайте текущего пользователя владельцем каталога ~/.kube.

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

Шаг 4. Включение важных дополнений

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

Дополнение DNS может потребоваться другим службам, поэтому рекомендуется всегда включать его.

Дополнительная панель инструментов дает вам графический обзор служб в MicroK8s; вы также можете использовать его для управления службами.

Вы можете просмотреть список доступных надстроек MicroK8, выполнив команду:

Шаг 5. Просмотр панели мониторинга MicroK8s

Теперь, когда вы включили надстройку панели мониторинга, вы можете легко получить доступ к панели мониторинга MicroK8s из веб-браузера.

Во-первых, вам нужен IP-адрес модуля панели мониторинга. Вы можете получить его, выполнив команду:

Из вывода приведенной выше команды видно, что служба kubernetes-dashboard работает на IP-адресе 10.152.183.35 и прослушивает TCP-порт 443. Обратите внимание, что этот IP-адрес может отличаться от используется вашей службой панели инструментов, поскольку она генерируется случайным образом.

В целях безопасности панель мониторинга Kubernetes запросит у вас данные аутентификации для входа. Вы можете получить доступ к токену панели управления по умолчанию, выполнив следующую команду. Затем скопируйте представленный kubernetes.io/service-account-token и вставьте его во входные данные токена.

На панели инструментов представлен обзор рабочих нагрузок, служб, конфигурации, кластеров и т. д. MicroK8s.

Шаг 6. Создание сервиса с помощью MicroK8

Чтобы увидеть MicroK8 в действии, давайте создадим развертывание службы микроботов, содержащее два модуля. Создайте модуль с помощью команды kubectl:

Масштабируйте модуль микроботов с помощью приведенной ниже команды.

Создайте службу, чтобы открыть развертывание микроботов.

Теперь мы развернули два модуля микроботов под названием service/microbot-service. Вы можете просмотреть сведения о службе микроботов и других службах, выполнив следующую команду:

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

Kubernetes или Docker: что выбрать?

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

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