Minikube¶
Информация
Minikube - это утилита командной строки, которая позволяет легко развертывать локальный кластер Kubernetes. Она полезна для разработчиков, которым нужна локальная среда Kubernetes для тестирования и разработки приложений.
Внимание
Это только утилита для управления контейнерами или системами виртуализации, такими как: Docker, QEMU, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox или VMware Fusion/Workstation. Вам необходимо установить требуемое ПО для контейнеризации или виртуальных машин на сервер самостоятельно!
Minikube. Основные возможности¶
- Быстрый запуск локального кластера Kubernetes - minikube позволяет запустить одноузловый кластер Kubernetes на локальной машине всего за несколько минут. Не нужно проходить сложную настройку или поднимать полноценный многузловой кластер.
- Поддержка разных драйверов виртуализации - кластер в minikube может запускаться внутри VirtualBox, Hyper-V, VMware, а также нативно на Linux, macOS и Windows. Это дает гибкость в выборе способа развертывания.
- Автоматическая настройка kubectl - после запуска кластера minikube автоматически настраивает kubectl для подключения к нему. Нет необходимости вручную конфигурировать клиент Kubernetes.
- Встроенный дашборд и приложения - в кластер из коробки добавляется дашборд, heapster, ingress-контроллер и другие полезные инструменты. Это ускоряет начало работы.
- Удобные команды управления - minikube start, stop, delete и другие команды позволяют легко управлять жизненным циклом кластера прямо из терминала.
- Режимы изоляции сети - есть возможность запускать кластер в режиме host-only сети для изоляции от основной сети.
- Поддержка аддонов - дополнительные функции можно подключать через аддоны, например, мониторинг, логирование, визуализацию и т.д.
- Интеграция со службами облака - kubectl и дашборд могут настраиваться для работы с удаленными кластерами в облаке.
Особенности сборки¶
ID | Совместимые ОС | VPS | BM | VGPU | GPU | Мин. ЦПУ (Ядер) | Мин. ОЗУ (Гб) | Мин. HDD/SDD (Гб) | Доступно |
---|---|---|---|---|---|---|---|---|---|
44 | Ubuntu 22.04 Desktop | + | + | + | - | 2 | 2 | - | Да |
Примечание
Если не указано иное, по умолчанию мы устанавливаем последнюю релиз версию программного обеспечения с сайта разработчика или репозиториев операционной системы.
Начало работы после развертывания Minikube¶
После оплаты заказа на указанную при регистрации электронную почту придет уведомление о готовности сервера к работе. В нем будет указан IP-адрес VPS, а также логин и пароль для подключения. Управление оборудованием клиенты нашей компании осуществляют в панели управления серверами и API — Invapi.
Данные для авторизации, которые можно найти или во вкладке Информация >> Тэги панели управления сервером или в присланном e-mail:
- Пароль: приходит в письме на вашу электронную почту при готовности сервера к работе после развертывания ПО.
Для работы с сервисом необходимо подключиться к серверу по SSH:
И выполнить командуstart
, которая автоматически создаст локальный кластер Kubernetes с использованием нескольких контейнеров Docker и последней стабильной версии Kubernetes: Выполнение команды займет некоторое время и должно вывести информацию, что kubectl настроен.
Примечание
Если нужно запустить minikube с нестандартной версией Kubernetes для проверки совместимости, можно использовать команду minikube start
с параметром --kubernetes-version
, например, v1.2.3
.
При установке minikube через Homebrew также устанавливается kubectl - основной инструмент управления кластерами Kubernetes из командной строки. Теперь можно выполнить команду kubectl get
, как и для любого другого кластера Kubernetes, чтобы перечислить все запущенные поды:
-A
возвращает поды из всех пространств имён. После выполнения указанных действий будет создан локальный кластер Kubernetes, с которым можно работать, используя стандартные инструменты Kubernetes, например kubectl.
Для доступа к дашборду можно использовать команду:
После ее выполнения будет выведена ссылка, например,http://127.0.0.1:42049/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
. Её необходимо отредактировать - указать IP-адрес сервера, после чего перейти к просмотру дашборда. Создание сервиса¶
По умолчанию под доступен только по внутреннему IP-адресу внутри кластера Kubernetes. Чтобы сделать контейнер hello-node доступным за пределами виртуальной сети Kubernetes, необходимо представить под в виде сервиса Kubernetes.
Сделать под доступным из публичного интернета можно с помощью команды kubectl expose
:
Флаг --type=LoadBalancer
указывает, что сервис должен быть виден вне кластера.
Код приложения в тестовом образе прослушивает только TCP-порт 8080. Если выставить для приложения доступность по другому порту в команде kubectl expose
, клиенты не смогут подключиться к этому порту.
Проверить созданный сервис можно командой:
Вывод будет примерно следующим:NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-node LoadBalancer 10.108.144.78 <pending> 8080:30369/TCP 21s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 23m
Для облачных провайдеров, поддерживающих балансировщики нагрузки, будет предоставлен внешний IP-адрес для доступа к сервису. В Minikube тип LoadBalancer делает сервис доступным через команду minikube service.
Запустить команду:
В результате выполнения команды будет открыто окно браузера, в котором запущено приложение и выводится его ответ.
Примечание
Подробная информация по основным настройкам Minikube содержится в документации разработчиков.
Заказ Minikube с помощью API¶
Для установки данного ПО с использованием API следуйте этой инструкции.