Minikube: Kubernetes made simple

Зачем выбирать простое, если можно выбрать что-то более простое? Это вполне может быть девизом Minikube, инструмента, позволяющего запускать Kubernetes на локальной компьютерной системе.

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

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

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

Minikube — минималистичный подход к управлению контейнерами

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

Компьютер и одноузловой кластер — вот и все, что нужно Minikube. Эта минимальная конфигурация предназначена для разработчиков программного обеспечения, которым нужен простой способ развертывания небольших частных проектов. Не требуется ни сервер, ни облачный провайдер. Кластер Kubernetes просто запускается на локальном хосте. В качестве среды выполнения виртуальной машины для Minikube по умолчанию используется VirtualBox, что означает, что инструмент можно использовать как на Windows и macOS, так и на Linux. Однако, если вы предпочитаете не использовать VirtualBox, вы можете настроить Minikube на работу без виртуальной машины.

Какие функции Kubernetes предоставляет Minikube?

Простота Minikube проявляется и в количестве функций Kubernetes, которые он поддерживает:

  • DNS
  • NodePorts
  • ConfigMaps и секреты
  • Дашборды
  • Среды выполнения контейнеров: Docker или альтернативы Docker, такие как rkt, CRI-O и containerd
  • Поддержка сетевого интерфейса контейнеров (CNI)
  • Ingress

Если вы уже знакомы с возможностями Kubernetes, установка Minikube, несомненно, покажется вам довольно ограниченной. Однако все можно расширить благодаря функциям. В качестве примера можно привести команду Minikube tunnel, которая работает как балансировщик нагрузки, контроль доступа на основе ролей (RBAC), информационные панели, мультикластеры и многие другие стандартные функции Kubernetes. Также доступен огромный выбор плагинов, например, поддержка GPU для автоматического анализа ошибок или построения модели машинного обучения.

Как и в случае со своим старшим братом, Kubernetes, Minikube действительно сияет благодаря сообществу. Все больше и больше участников постоянно участвуют в проекте, продвигая инструмент все дальше и дальше. Как только появляется обновление Kubernetes, появляется и новая версия Minikube. А благодаря сообществу появилась база данных известных проблем, к которой пользователи могут обратиться за помощью.

Как работает Minikube?

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

Minikube может запускать виртуальную машину через ряд различных гипервизоров, например, VirtualBox, о котором мы упоминали выше. Если в вашей системе уже установлен гипервизор, Minikube автоматически настроит виртуальную машину. И последнее, но не менее важное: для отправки команд в ваш кластер Kubernetes вам понадобится стандартный интерфейс командной строки kubectl.

После установки этих компонентов Minikube готов к работе. По умолчанию виртуальной машине будет выделено 1 ГБ оперативной памяти, и будет создан кластер Kubernetes, готовый к настройке с помощью kubectl. Первое, что вы, возможно, захотите сделать, это настроить распределение памяти в соответствии с вашими требованиями.

Если вы уже работали с контейнерами, следующие шаги будут вам знакомы. Физический кластер делится на несколько областей с помощью пространств имен. Создание определенных пространств имен с помощью kubectl поможет вам поддерживать четкий обзор ваших ресурсов. Как видите, благодаря различным дополнениям, Minikube предлагает столько же функций, сколько и любая другая контейнерная система.

Для чего используется Minikube?

Основная причина, по которой люди используют Minikube, — это получение практического опыта работы с Kubernetes. Огромные кластеры не всегда доступны, а Minikube предлагает быстрый способ опробовать и протестировать приложения. На сайте Kubernetes есть исчерпывающее руководство по использованию Minikube, поэтому вам не потребуется никакого опыта, чтобы начать работу. На самом деле, даже те, кто уже знаком с Kubernetes, сочтут Minikube фантастической средой обучения, поскольку он предоставляет широкие возможности для экспериментов.

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

Эксперименты — это все хорошо и прекрасно. Но есть ли у Minikube другие применения? Ответ — да! Помимо того, что Minikube идеально подходит для небольших частных программных проектов, его можно использовать и для внешних технологий — например, в нем есть экспериментальная поддержка управления графическими процессорами NVIDIA. Поэтому это отличный инструмент для разработчиков алгоритмов машинного обучения и видеоигр.

Minikube также предназначен для ИТ-руководителей. Учитывая, как быстро меняются технологии в мире вычислений, ИТ-директора должны постоянно разрабатывать, тестировать и изучать новые инструменты — но у них просто нет времени. К счастью, когда дело доходит до Kubernetes, есть простой способ войти в курс дела: Minikube. Например, есть функция Minikube для приборной панели Kubernetes, которая отображает подробную информацию и показатели использования, чтобы вы могли проверить, насколько хорошо ваше приложение работает на кластере. Minikube также идеально подходит для проведения практических демонстраций (на локальной машине) работы Kubernetes.

Маленький шаг в большой мир Minikube

Полные инструкции по установке Minikube можно найти в официальной документации Kubernetes, но, по сути, для установки Minikube вам понадобится контейнерная система, такая как Docker, или среда с виртуальной машиной, а также встроенный интерфейс командной строки kubectl. Затем вы можете выполнить свою первую команду:

minikube start

На вашем компьютере/ноутбуке вам потребуется следующее:

  • 2 или более процессоров
  • 2 ГБ свободной памяти
  • 20 ГБ свободного дискового пространства
  • подключение к Интернету
  • Система управления контейнерами или виртуальная машина

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

kubectl get po -A

Minikube поставляется с панелью Kubernetes Dashboard, чтобы вы могли быстро ознакомиться с новой средой.

minikube dashboard

Теперь вы можете приступить к созданию развертываний. Чтобы создать образец развертывания и открыть его на порту 8080, введите:

kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
kubectl expose deployment hello-minikube --type=NodePort --port=8080
Примечание .

Эти команды используют существующий образ под названием echoserver, но вы можете изменить его и использовать свой собственный образ, если хотите.

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

kubectl get services hello-minikube

Самый простой способ получить доступ к этой службе — это заставить Minikube запустить веб-браузер:

minikube service hello-minikube

В качестве альтернативы вы можете использовать kubectl для перенаправления порта:

kubectl port-forward service/hello-minikube 7080:8080

Наконец, вот некоторые общие команды администрирования кластера:

Приостановить Kubernetes без влияния на развернутые приложения:

minikube pause

Остановить кластер:

minikube stop

Увеличить лимит памяти по умолчанию (требуется перезагрузка):

minikube config set memory 16384

Просмотреть каталог служб Kubernetes:

minikube addons list

Создать второй кластер под управлением более старого выпуска Kubernetes:

minikube start -p aged --kubernetes-version=v1.16.1

Удалить все кластеры Minikube:

minikube delete --all
Совет

Хотите узнать больше о старшем брате Minikube — Kubernetes? Тогда ознакомьтесь с нашим подробным руководством по Kubernetes, в котором вы найдете множество практических советов.

Оцените статью
cdelat.ru
Добавить комментарий